diff options
author | Jay Agarwal <jagarwal@nvidia.com> | 2012-06-22 17:33:51 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-06-25 16:51:32 -0700 |
commit | 44bd2bfc4b75d5edf7edc2d81ca30272c7100a02 (patch) | |
tree | b9d6bdbd0a0e930700bcf05947ee470b5d9a264f /arch/arm/mach-tegra/pcie.c | |
parent | 5d811e3f6beb17bc273e480d1631fbe622fe3c79 (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>
Diffstat (limited to 'arch/arm/mach-tegra/pcie.c')
-rw-r--r-- | arch/arm/mach-tegra/pcie.c | 8 |
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 |