diff options
Diffstat (limited to 'arch/powerpc/kernel/eeh_driver.c')
-rw-r--r-- | arch/powerpc/kernel/eeh_driver.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c index 2714a3b81d24..d70101e1e25c 100644 --- a/arch/powerpc/kernel/eeh_driver.c +++ b/arch/powerpc/kernel/eeh_driver.c | |||
@@ -642,13 +642,12 @@ static int eeh_reset_device(struct eeh_pe *pe, struct pci_bus *bus, | |||
642 | if (pe->type & EEH_PE_VF) { | 642 | if (pe->type & EEH_PE_VF) { |
643 | eeh_pe_dev_traverse(pe, eeh_rmv_device, NULL); | 643 | eeh_pe_dev_traverse(pe, eeh_rmv_device, NULL); |
644 | } else { | 644 | } else { |
645 | eeh_pe_state_clear(pe, EEH_PE_PRI_BUS); | ||
646 | pci_lock_rescan_remove(); | 645 | pci_lock_rescan_remove(); |
647 | pci_hp_remove_devices(bus); | 646 | pci_hp_remove_devices(bus); |
648 | pci_unlock_rescan_remove(); | 647 | pci_unlock_rescan_remove(); |
649 | } | 648 | } |
650 | } else if (frozen_bus) { | 649 | } else if (frozen_bus) { |
651 | eeh_pe_dev_traverse(pe, eeh_rmv_device, &rmv_data); | 650 | eeh_pe_dev_traverse(pe, eeh_rmv_device, rmv_data); |
652 | } | 651 | } |
653 | 652 | ||
654 | /* | 653 | /* |
@@ -692,10 +691,12 @@ static int eeh_reset_device(struct eeh_pe *pe, struct pci_bus *bus, | |||
692 | */ | 691 | */ |
693 | edev = list_first_entry(&pe->edevs, struct eeh_dev, list); | 692 | edev = list_first_entry(&pe->edevs, struct eeh_dev, list); |
694 | eeh_pe_traverse(pe, eeh_pe_detach_dev, NULL); | 693 | eeh_pe_traverse(pe, eeh_pe_detach_dev, NULL); |
695 | if (pe->type & EEH_PE_VF) | 694 | if (pe->type & EEH_PE_VF) { |
696 | eeh_add_virt_device(edev, NULL); | 695 | eeh_add_virt_device(edev, NULL); |
697 | else | 696 | } else { |
697 | eeh_pe_state_clear(pe, EEH_PE_PRI_BUS); | ||
698 | pci_hp_add_devices(bus); | 698 | pci_hp_add_devices(bus); |
699 | } | ||
699 | } else if (frozen_bus && rmv_data->removed) { | 700 | } else if (frozen_bus && rmv_data->removed) { |
700 | pr_info("EEH: Sleep 5s ahead of partial hotplug\n"); | 701 | pr_info("EEH: Sleep 5s ahead of partial hotplug\n"); |
701 | ssleep(5); | 702 | ssleep(5); |