Takashi Iwai 47e76b
From ca76a3a8052b71c0334d5c094859cfa340c290a8 Mon Sep 17 00:00:00 2001
Takashi Iwai 47e76b
From: Dan Williams <dan.j.williams@intel.com>
Takashi Iwai 47e76b
Date: Fri, 15 Oct 2021 14:29:58 -0700
Takashi Iwai 47e76b
Subject: [PATCH] cxl/pci: Fix NULL vs ERR_PTR confusion
Takashi Iwai 47e76b
Git-commit: ca76a3a8052b71c0334d5c094859cfa340c290a8
Takashi Iwai 47e76b
Patch-mainline: v5.16-rc1
Takashi Iwai 001336
References: git-fixes stable-5.14.19
Takashi Iwai 47e76b
Takashi Iwai 47e76b
cxl_pci_map_regblock() may return an ERR_PTR(), but cxl_pci_setup_regs()
Takashi Iwai 47e76b
is only prepared for NULL as the error case. Pick the minimal fix for
Takashi Iwai 47e76b
-stable backport purposes and just have cxl_pci_map_regblock() return
Takashi Iwai 47e76b
NULL for errors.
Takashi Iwai 47e76b
Takashi Iwai 47e76b
Fixes: f8a7e8c29be8 ("cxl/pci: Reserve all device regions at once")
Takashi Iwai 47e76b
Cc: <stable@vger.kernel.org>
Takashi Iwai 47e76b
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Takashi Iwai 47e76b
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Takashi Iwai 47e76b
Link: https://lore.kernel.org/r/163433325724.834522.17809774578178224149.stgit@dwillia2-desk3.amr.corp.intel.com
Takashi Iwai 47e76b
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Takashi Iwai 47e76b
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 47e76b
Takashi Iwai 47e76b
---
Takashi Iwai 47e76b
 drivers/cxl/pci.c | 2 +-
Takashi Iwai 47e76b
 1 file changed, 1 insertion(+), 1 deletion(-)
Takashi Iwai 47e76b
Takashi Iwai 47e76b
diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
Takashi Iwai 47e76b
index ccc7c2573ddc..9c178002d49e 100644
Takashi Iwai 47e76b
--- a/drivers/cxl/pci.c
Takashi Iwai 47e76b
+++ b/drivers/cxl/pci.c
Takashi Iwai 47e76b
@@ -317,7 +317,7 @@ static void __iomem *cxl_pci_map_regblock(struct cxl_mem *cxlm,
Takashi Iwai 47e76b
 	if (pci_resource_len(pdev, bar) < offset) {
Takashi Iwai 47e76b
 		dev_err(dev, "BAR%d: %pr: too small (offset: %#llx)\n", bar,
Takashi Iwai 47e76b
 			&pdev->resource[bar], (unsigned long long)offset);
Takashi Iwai 47e76b
-		return IOMEM_ERR_PTR(-ENXIO);
Takashi Iwai 47e76b
+		return NULL;
Takashi Iwai 47e76b
 	}
Takashi Iwai 47e76b
 
Takashi Iwai 47e76b
 	addr = pci_iomap(pdev, bar, 0);
Takashi Iwai 47e76b
-- 
Takashi Iwai 47e76b
2.26.2
Takashi Iwai 47e76b