diff options
author | Dan Carpenter <dan.carpenter@linaro.org> | 2024-01-02 16:10:21 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-01-04 19:01:14 +0300 |
commit | 87736ae12e1427bb2e6fd11f37b2ff76ed69aa0f (patch) | |
tree | 14763efa6783744583bca653a2912f24afb3dc0c /drivers/cdx | |
parent | cf60af04edfe51fca488246c9959904adb2750fa (diff) | |
download | linux-87736ae12e1427bb2e6fd11f37b2ff76ed69aa0f.tar.xz |
cdx: call of_node_put() on error path
Add a missing call to of_node_put(np) on error.
There was a second error path where "np" was NULL, but that situation is
impossible. The for_each_compatible_node() loop iterator is always
non-NULL. Just deleted that error path.
Fixes: 54b406e10f03 ("cdx: Remove cdx controller list from cdx bus system")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Abhijit Gangurde <abhijit.gangurde@amd.com>
Link: https://lore.kernel.org/r/2e66efc4-a13a-4774-8c9d-763455fe4834@moroto.mountain
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/cdx')
-rw-r--r-- | drivers/cdx/cdx.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c index c0fca63c7434..929fe3d07eee 100644 --- a/drivers/cdx/cdx.c +++ b/drivers/cdx/cdx.c @@ -604,12 +604,11 @@ static ssize_t rescan_store(const struct bus_type *bus, /* Rescan all the devices */ for_each_compatible_node(np, NULL, compat_node_name) { - if (!np) - return -EINVAL; - pd = of_find_device_by_node(np); - if (!pd) + if (!pd) { + of_node_put(np); return -EINVAL; + } cdx = platform_get_drvdata(pd); if (cdx && cdx->controller_registered && cdx->ops->scan) |