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@xxxxxxxxxx> Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> --- drivers/interconnect/imx/imx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/interconnect/imx/imx.c b/drivers/interconnect/imx/imx.c index 6884212511f0..ac420f86008e 100644 --- a/drivers/interconnect/imx/imx.c +++ b/drivers/interconnect/imx/imx.c @@ -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)) {