--- /dev/null
+From 4e1efb403c1c016ae831bd9988a7d2e5e0af41a0 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 14 Aug 2015 17:41:24 +1000
+Subject: cxl: Don't remove AFUs/vPHBs in cxl_reset
+
+From: Daniel Axtens <dja@axtens.net>
+
+commit 4e1efb403c1c016ae831bd9988a7d2e5e0af41a0 upstream.
+
+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>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/misc/cxl/pci.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+--- a/drivers/misc/cxl/pci.c
++++ b/drivers/misc/cxl/pci.c
+@@ -854,11 +854,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 */