diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2016-03-04 10:53:13 +1100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-03-09 09:58:27 +1100 |
commit | 3fa7bf7229993eac65fd6ade2ffc5f75150b40e1 (patch) | |
tree | 658a64cddcdef17a1cc064f769a0ccd5592ee12b /arch/powerpc/kernel/eeh_driver.c | |
parent | 2311cca55589ae7889071e11e18c9260b68314e2 (diff) |
powerpc/eeh: Don't remove passed VFs
When we have partial hotplug as part of the error recovery on PF,
the VFs that are bound with vfio-pci driver will experience hotplug.
That's not allowed.
This checks if the VF PE is passed or not. If it does, we leave
the VF without removing it.
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Reviewed-by: Russell Currey <ruscur@russell.cc>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/eeh_driver.c')
-rw-r--r-- | arch/powerpc/kernel/eeh_driver.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c index 6c59de8b9280..fb6207d2c604 100644 --- a/arch/powerpc/kernel/eeh_driver.c +++ b/arch/powerpc/kernel/eeh_driver.c @@ -455,6 +455,9 @@ static void *eeh_rmv_device(void *data, void *userdata) 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 && driver->err_handler->slot_reset) |