cxl: Don't remove AFUs/vPHBs in cxl_reset
authorDaniel Axtens <dja@axtens.net>
Fri, 14 Aug 2015 07:41:24 +0000 (17:41 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 14 Aug 2015 11:32:07 +0000 (21:32 +1000)
If the driver doesn't participate in EEH, the AFUs will be removed
by cxl_remove, which will be invoked by EEH.

If the driver does particpate in EEH, the vPHB needs to stick around
so that the it can particpate.

In both cases, we shouldn't remove the AFU/vPHB.

Reviewed-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/cxl/pci.c

index b63d960..2b61cb1 100644 (file)
@@ -880,11 +880,6 @@ int cxl_reset(struct cxl *adapter)
 
        dev_info(&dev->dev, "CXL reset\n");
 
-       for (i = 0; i < adapter->slices; i++) {
-               cxl_pci_vphb_remove(adapter->afu[i]);
-               cxl_remove_afu(adapter->afu[i]);
-       }
-
        /* pcie_warm_reset requests a fundamental pci reset which includes a
         * PERST assert/deassert.  PERST triggers a loading of the image
         * if "user" or "factory" is selected in sysfs */