From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753315AbdJLKjn convert rfc822-to-8bit (ORCPT ); Thu, 12 Oct 2017 06:39:43 -0400 Received: from smtp-out4.electric.net ([192.162.216.194]:64830 "EHLO smtp-out4.electric.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752519AbdJLKjl (ORCPT ); Thu, 12 Oct 2017 06:39:41 -0400 From: David Laight To: "'Pankaj Dubey'" , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: Kishon Vijay Abraham I , Bjorn Helgaas , Jingoo Han , Joao Pinto Subject: RE: [PATCH] PCI: dwc: designware: don't sleep in atomic context Thread-Topic: [PATCH] PCI: dwc: designware: don't sleep in atomic context Thread-Index: AQHTQy9knCla4naM7Ey/mTFOFDo/kKLgBhwA Date: Thu, 12 Oct 2017 10:39:39 +0000 Message-ID: <063D6719AE5E284EB5DD2968C1650D6DD00924BC@AcuExch.aculab.com> References: <1507794889-11148-1-git-send-email-pankaj.dubey@samsung.com> In-Reply-To: <1507794889-11148-1-git-send-email-pankaj.dubey@samsung.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.202.99.200] Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-Outbound-IP: 156.67.243.126 X-Env-From: David.Laight@ACULAB.COM X-Proto: esmtps X-Revdns: X-HELO: AcuExch.aculab.com X-TLS: TLSv1:AES128-SHA:128 X-Authenticated_ID: X-PolicySMART: 3396946, 3397078 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pankaj Dubey > Sent: 12 October 2017 08:55 > In pcie-designware.c many places we are calling "usleep_range" which > are in atomic context. This patch fixes these potential BUGs and > replaces "usleep_range" with mdelay calls. > > Signed-off-by: Pankaj Dubey > --- > drivers/pci/dwc/pcie-designware.c | 8 ++++---- > drivers/pci/dwc/pcie-designware.h | 3 +-- > 2 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/pci/dwc/pcie-designware.c b/drivers/pci/dwc/pcie-designware.c > index 88abddd..35d19b9 100644 > --- a/drivers/pci/dwc/pcie-designware.c > +++ b/drivers/pci/dwc/pcie-designware.c > @@ -138,7 +138,7 @@ static void dw_pcie_prog_outbound_atu_unroll(struct dw_pcie *pci, int index, > if (val & PCIE_ATU_ENABLE) > return; > > - usleep_range(LINK_WAIT_IATU_MIN, LINK_WAIT_IATU_MAX); > + mdelay(LINK_WAIT_IATU_MIN); > } Spinning for 9ms (possibly 10 times) isn't really a good idea. David