interconnect: imx: Fix return value check in imx_icc_node_init_qos()
authorWei Yongjun <weiyongjun1@huawei.com>
Sun, 10 May 2020 15:30:37 +0000 (18:30 +0300)
committerGeorgi Djakov <georgi.djakov@linaro.org>
Sun, 10 May 2020 15:30:37 +0000 (18:30 +0300)
In case of error, the function of_parse_phandle() returns NULL pointer
not ERR_PTR(). The IS_ERR() test in the return value check should be
replaced with NULL test.

Fixes: f0d8048525d7 ("interconnect: Add imx core driver")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Link: https://lore.kernel.org/r/20200509030214.14435-1-weiyongjun1@huawei.com
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
drivers/interconnect/imx/imx.c

index 6884212..ac420f8 100644 (file)
@@ -90,10 +90,10 @@ static int imx_icc_node_init_qos(struct icc_provider *provider,
                        node->name, node->id);
        } else {
                dn = of_parse_phandle(dev->of_node, adj->phandle_name, 0);
-               if (IS_ERR(dn)) {
-                       dev_warn(dev, "Failed to parse %s: %ld\n",
-                                adj->phandle_name, PTR_ERR(dn));
-                       return PTR_ERR(dn);
+               if (!dn) {
+                       dev_warn(dev, "Failed to parse %s\n",
+                                adj->phandle_name);
+                       return -ENODEV;
                }
                /* Allow scaling to be disabled on a per-node basis */
                if (!dn || !of_device_is_available(dn)) {