On hotplug case, after a pdev is removed from the system, edev->mode will
set flag EEH_DEV_NO_HANDLER to mark the status. While this flag is not
cleared when we probe back those pdev. This will lead to miss the call of
driver->err_handler->slot_reset in eeh_report_reset().

This patch clear this flag when probe back those devices.

Signed-off-by: Wei Yang <weiy...@linux.vnet.ibm.com>
---
 arch/powerpc/kernel/eeh.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 9ee61d1..adf9bc4 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -1113,6 +1113,7 @@ void eeh_add_device_late(struct pci_dev *dev)
 
        pdn = pci_get_pdn_by_devfn(dev->bus, dev->devfn);
        edev = pdn_to_eeh_dev(pdn);
+       edev->mode &= ~EEH_DEV_NO_HANDLER;
        if (edev->pdev == dev) {
                pr_debug("EEH: Already referenced !\n");
                return;
-- 
1.7.9.5

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

Reply via email to