From: David Mueller <dave.mueller@xxxxxx> If additional PCIe switch get connected between the host and the NIC,the kernel crashes with "BUG: scheduling while atomic". To handle this we need to call mdelay() instead of usleep_range(). This is currently called from atomic context through pci_config_{read,write). For more detail please refer bugzilla.kernel.org, Bug 100031 Signed-off-by: David Mueller <dave.mueller@xxxxxx> Signed-off-by: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Changes in v2: -order of signoff has been change -Author of patch has been change -A mdelay(1000) is different timescale than a usleep(1000).change it to correct scale i.e mdelay(1) -updated comment --- drivers/pci/host/pci-imx6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c index 233a196..c03527f 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(1); } /* * From L0, initiate MAC entry to gen2 if EP/RC supports gen2. -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html