There should have an upstream bridge for the PCI bus for which
pnv_pci_reset_secondary_bus() is called. It's impossible to call
the function for root buses. So we needn't do reset for root buses
in pnv_pci_reset_secondary_bus() and simply drop the logic.

Signed-off-by: Gavin Shan <gws...@linux.vnet.ibm.com>
---
v5:
  * Split from PATCH[v4 10/21]
---
 arch/powerpc/platforms/powernv/eeh-powernv.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c 
b/arch/powerpc/platforms/powernv/eeh-powernv.c
index 4669122..18167c5 100644
--- a/arch/powerpc/platforms/powernv/eeh-powernv.c
+++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
@@ -1057,16 +1057,8 @@ static int pnv_eeh_vf_pe_reset(struct eeh_pe *pe, int 
option)
 
 void pnv_pci_reset_secondary_bus(struct pci_dev *dev)
 {
-       struct pci_controller *hose;
-
-       if (pci_is_root_bus(dev->bus)) {
-               hose = pci_bus_to_host(dev->bus);
-               pnv_eeh_root_reset(hose, EEH_RESET_HOT);
-               pnv_eeh_root_reset(hose, EEH_RESET_DEACTIVATE);
-       } else {
-               pnv_eeh_bridge_reset(dev, EEH_RESET_HOT);
-               pnv_eeh_bridge_reset(dev, EEH_RESET_DEACTIVATE);
-       }
+       pnv_eeh_bridge_reset(dev, EEH_RESET_HOT);
+       pnv_eeh_bridge_reset(dev, EEH_RESET_DEACTIVATE);
 }
 
 /**
-- 
2.1.0

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to