Add an error isolation handler for type 3 CXL devices. The current behavior is to log any AER information and then panic. Signed-off-by: Ben Cheatham <Benjamin.Cheatham@xxxxxxx> --- drivers/cxl/pci.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c index 2a56936ac4f2..b0f2400c6ac9 100644 --- a/drivers/cxl/pci.c +++ b/drivers/cxl/pci.c @@ -900,6 +900,13 @@ static struct attribute_group cxl_rcd_group = { }; __ATTRIBUTE_GROUPS(cxl_rcd); +static enum cxl_err_results +cxl_pci_isolation_handler(struct cxl_dev_state *cxlds, bool lnk_down) +{ + cxl_error_detected(cxlds->dev); + return CXL_ERR_PANIC; +} + static int cxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct pci_host_bridge *host_bridge = pci_find_host_bridge(pdev->bus); @@ -1006,6 +1013,8 @@ static int cxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) if (rc) dev_dbg(&pdev->dev, "No CXL Features discovered\n"); + cxlds->isolation_handler = cxl_pci_isolation_handler; + cxlmd = devm_cxl_add_memdev(&pdev->dev, cxlds); if (IS_ERR(cxlmd)) return PTR_ERR(cxlmd); -- 2.34.1