瀏覽代碼

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>
Gavin Shan 9 年之前
父節點
當前提交
3fa7bf7229
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      arch/powerpc/kernel/eeh_driver.c

+ 3 - 0
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 &&