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: a32320b71f ("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>
This commit is contained in:
Arnd Bergmann 2023-02-13 11:12:11 +01:00 committed by Dan Williams
parent 09d09e04d2
commit 7abcb0b106

View File

@ -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);