--- /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>
+Reported-by: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/misc/cxl/pci.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+--- a/drivers/misc/cxl/pci.c
++++ b/drivers/misc/cxl/pci.c
+@@ -781,9 +781,6 @@ int cxl_reset(struct cxl *adapter)
+
+ dev_info(&dev->dev, "CXL reset\n");
+
+- for (i = 0; i < adapter->slices; 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 */