diff options
author | Gavin Shan <[email protected]> | 2014-04-24 18:00:22 +1000 |
---|---|---|
committer | Benjamin Herrenschmidt <[email protected]> | 2014-05-12 10:33:08 +1000 |
commit | 372cf1244d7c271806b83b32b09a1c8b1b31b353 (patch) | |
tree | 04cd479d405cebe9557027f0fb3df0c6f38ee3bd | |
parent | e4565362c7adc31201135c4b6d649fc1bdc3bf20 (diff) |
powerpc/powernv: Reset root port in firmware
Resetting root port has more stuff to do than that for PCIe switch
ports and we should have resetting root port done in firmware instead
of the kernel itself. The problem was introduced by commit 5b2e198e
("powerpc/powernv: Rework EEH reset").
Cc: linux-stable <[email protected]>
Signed-off-by: Gavin Shan <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
-rw-r--r-- | arch/powerpc/platforms/powernv/eeh-ioda.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/eeh-ioda.c b/arch/powerpc/platforms/powernv/eeh-ioda.c index 253fefe3d1a0..5b51079f3e3b 100644 --- a/arch/powerpc/platforms/powernv/eeh-ioda.c +++ b/arch/powerpc/platforms/powernv/eeh-ioda.c @@ -549,7 +549,8 @@ static int ioda_eeh_reset(struct eeh_pe *pe, int option) ret = ioda_eeh_phb_reset(hose, option); } else { bus = eeh_pe_bus_get(pe); - if (pci_is_root_bus(bus)) + if (pci_is_root_bus(bus) || + pci_is_root_bus(bus->parent)) ret = ioda_eeh_root_reset(hose, option); else ret = ioda_eeh_bridge_reset(hose, bus->self, option); |