The error return code PTR_ERR(gpr_np) is always 0 since gpr_np is equal to NULL in this error handling case. Fix it by return -ENOENT. Fixes: de3578c198c6 ("can: flexcan: add self wakeup support") Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> --- drivers/net/can/flexcan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index 0f36eaf..f412d84 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -1432,7 +1432,7 @@ static int flexcan_setup_stop_mode(struct platform_device *pdev) gpr_np = of_find_node_by_phandle(phandle); if (!gpr_np) { dev_dbg(&pdev->dev, "could not find gpr node by phandle\n"); - return PTR_ERR(gpr_np); + return -ENOENT; } priv = netdev_priv(dev);