diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c index 6c59de8b92806..fb6207d2c604b 100644 --- a/arch/powerpc/kernel/eeh_driver.c +++ b/arch/powerpc/kernel/eeh_driver.c @@ -454,6 +454,9 @@ static void *eeh_rmv_device(void *data, void *userdata) driver = eeh_pcid_get(dev); if (driver) { eeh_pcid_put(dev); + if (removed && + eeh_pe_passed(edev->pe)) + return NULL; if (removed && driver->err_handler && driver->err_handler->error_detected &&