summaryrefslogtreecommitdiff
path: root/drivers/cxl
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2023-02-13 13:12:11 +0300
committerDan Williams <dan.j.williams@intel.com>2023-02-14 19:36:34 +0300
commit7abcb0b10668eaf3c174ff383f3b2a7a8c95fb34 (patch)
tree317ee61cbfd6525da6f19b0bcf552bee84449d2c /drivers/cxl
parent09d09e04d2fcf88c4620dd28097e0e2a8f720eac (diff)
downloadlinux-7abcb0b10668eaf3c174ff383f3b2a7a8c95fb34.tar.xz
cxl: avoid returning uninitialized error code
The new cxl_add_to_region() function returns an uninitialized value on success: drivers/cxl/core/region.c:2628:6: error: variable 'rc' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] if (IS_ERR(cxlr)) { ^~~~~~~~~~~~ drivers/cxl/core/region.c:2654:9: note: uninitialized use occurs here return rc; Simplify the logic to have the rc variable always initialized in the same place. Fixes: a32320b71f08 ("cxl/region: Add region autodiscovery") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20230213101220.3821689-1-arnd@kernel.org Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/cxl')
-rw-r--r--drivers/cxl/core/region.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
index 91bb9ac881ff..8ba71ca4135c 100644
--- a/drivers/cxl/core/region.c
+++ b/drivers/cxl/core/region.c
@@ -2623,10 +2623,9 @@ int cxl_add_to_region(struct cxl_port *root, struct cxl_endpoint_decoder *cxled)
cxlr = to_cxl_region(region_dev);
mutex_unlock(&cxlrd->range_lock);
- if (IS_ERR(cxlr)) {
- rc = PTR_ERR(cxlr);
+ rc = PTR_ERR_OR_ZERO(cxlr);
+ if (rc)
goto out;
- }
attach_target(cxlr, cxled, -1, TASK_UNINTERRUPTIBLE);