From: Dan Williams Date: Tue, 15 Mar 2022 01:22:33 +0000 (-0700) Subject: cxl/mem: Make cxl_dvsec_range() init failure fatal X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fbaf2b079d2a0a9c7114fbd4d1c0f3dd7a3cb3ad;p=linux.git cxl/mem: Make cxl_dvsec_range() init failure fatal In preparation for the cxl_pci driver to continue operation after cxl_dvsec_range() failure, update cxl_mem to check for negative error codes in info->ranges. Treat that condition as fatal regardless of the state of the HDM configuration since cxl_mem needs positive confirmation that legacy ranges were not established by platform firmware or another agent. Reviewed-by: Jonathan Cameron Reviewed-by: Davidlohr Bueso Link: https://lore.kernel.org/r/164730735324.3806189.4167509857771192422.stgit@dwillia2-desk3.amr.corp.intel.com Signed-off-by: Dan Williams --- diff --git a/drivers/cxl/mem.c b/drivers/cxl/mem.c index cd4e8bba82aaa..50704deb2ff0a 100644 --- a/drivers/cxl/mem.c +++ b/drivers/cxl/mem.c @@ -88,6 +88,9 @@ __mock bool cxl_dvsec_decode_init(struct cxl_dev_state *cxlds) void __iomem *crb; u32 global_ctrl; + if (info->ranges < 0) + return false; + /* map hdm decoder */ crb = ioremap(cxlds->component_reg_phys, CXL_COMPONENT_REG_BLOCK_SIZE); if (!crb) {