summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/eeh_driver.c
diff options
context:
space:
mode:
authorGavin Shan2016-03-04 00:53:13 +0100
committerMichael Ellerman2016-03-08 23:58:27 +0100
commit3fa7bf7229993eac65fd6ade2ffc5f75150b40e1 (patch)
tree658a64cddcdef17a1cc064f769a0ccd5592ee12b /arch/powerpc/kernel/eeh_driver.c
parentpowerpc/eeh: Don't propagate error to guest (diff)
downloadkernel-qcow2-linux-3fa7bf7229993eac65fd6ade2ffc5f75150b40e1.tar.gz
kernel-qcow2-linux-3fa7bf7229993eac65fd6ade2ffc5f75150b40e1.tar.xz
kernel-qcow2-linux-3fa7bf7229993eac65fd6ade2ffc5f75150b40e1.zip
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.c3
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)