From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:58256 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751750AbbKJJfP (ORCPT ); Tue, 10 Nov 2015 04:35:15 -0500 Message-ID: <1447148110.3142.6.camel@pengutronix.de> Subject: Re: [PATCH] PCI: imx6:don't sleep in atomic context From: Lucas Stach To: Arnd Bergmann Cc: linux-arm-kernel@lists.infradead.org, Sanjeev Sharma , linux-pci@vger.kernel.org, Richard.Zhu@freescale.com, linux-kernel@vger.kernel.org, David Mueller , bhelgaas@google.com Date: Tue, 10 Nov 2015 10:35:10 +0100 In-Reply-To: <4800389.dqcmlJY3HC@wuerfel> References: <1447066080-5859-1-git-send-email-sanjeev_sharma@mentor.com> <1447144878.3142.3.camel@pengutronix.de> <4800389.dqcmlJY3HC@wuerfel> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org List-ID: Am Dienstag, den 10.11.2015, 10:28 +0100 schrieb Arnd Bergmann: > On Tuesday 10 November 2015 09:41:18 Lucas Stach wrote: > > > diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c > > > index 233a196..9769b13 100644 > > > --- a/drivers/pci/host/pci-imx6.c > > > +++ b/drivers/pci/host/pci-imx6.c > > > @@ -499,7 +499,7 @@ static int imx6_pcie_link_up(struct pcie_port *pp) > > > * Wait a little bit, then re-check if the link finished > > > * the training. > > > */ > > > - usleep_range(1000, 2000); > > > + mdelay(1000); > > > > A mdelay(1000) is a whole different timescale than a usleep(1000). If > > this patch works for you with mdelay(1) or maybe mdelay(2) I would be > > fine with it. > > mdelay(1) is still a really long time to block the CPU for, on potentially > every config space access. > > Everybody else just returns the link status here, which seems to be > the better alternative. If you need to delay the startup, better have > a msleep(1) loop in the initial probe function where you are allowed to > sleep. > Yes, it's somewhere on my TODO list to rework the link-up handling here, but as there are quite a few timing and ordering implications in that code, this needs a good thought and a good deal of testing. So I'm inclined to ACK the current patch to get rid of the obvious bug and sort things out properly in a follow on patchset. Regards, Lucas -- Pengutronix e.K. | Lucas Stach | Industrial Linux Solutions | http://www.pengutronix.de/ |