summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Agarwal <jagarwal@nvidia.com>2012-06-22 17:33:51 +0530
committerSimone Willett <swillett@nvidia.com>2012-06-25 16:51:32 -0700
commit44bd2bfc4b75d5edf7edc2d81ca30272c7100a02 (patch)
treeb9d6bdbd0a0e930700bcf05947ee470b5d9a264f
parent5d811e3f6beb17bc273e480d1631fbe622fe3c79 (diff)
arm: tegra: pcie: Fix USB3 after LP0
Stop and add pcie devices to probe the devices again in order to have correct value of irq which was not, at first probe while resume. Bug 956573 Change-Id: I8d497116350ad263c4ae3053cd429393a0f0bc99 Signed-off-by: Jay Agarwal <jagarwal@nvidia.com> Reviewed-on: http://git-master/r/110556 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/pcie.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index 6b23f7d3909e..4e266be9043d 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -1380,6 +1380,14 @@ static int tegra_pci_resume(struct device *dev)
pci_write_config_byte(pdev, PCI_INTERRUPT_LINE, pdev->irq);
}
+ /* probe the devices again after having correct value of irq as above */
+ pdev = NULL;
+ for_each_pci_dev(pdev)
+ pci_stop_bus_device(pdev);
+ b = NULL;
+ while ((b = pci_find_next_bus(b)) != NULL)
+ pci_bus_add_devices(b);
+
return ret;
}
#endif