提交 4e1efb40 编写于 作者: D Daniel Axtens 提交者: Michael Ellerman

cxl: Don't remove AFUs/vPHBs in cxl_reset

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: NCyril Bur <cyrilbur@gmail.com>
Signed-off-by: NDaniel Axtens <dja@axtens.net>
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 d76427b0
...@@ -880,11 +880,6 @@ int cxl_reset(struct cxl *adapter) ...@@ -880,11 +880,6 @@ int cxl_reset(struct cxl *adapter)
dev_info(&dev->dev, "CXL reset\n"); 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 /* pcie_warm_reset requests a fundamental pci reset which includes a
* PERST assert/deassert. PERST triggers a loading of the image * PERST assert/deassert. PERST triggers a loading of the image
* if "user" or "factory" is selected in sysfs */ * if "user" or "factory" is selected in sysfs */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册