Message ID | 20250516095346.24169-1-hanchunchao@inspur.com |
---|---|
State | New |
Headers | show |
Series | charger: max14577: Handle NULL pdata when CONFIG_OF is not set | expand |
diff --git a/drivers/power/supply/max14577_charger.c b/drivers/power/supply/max14577_charger.c index 1cef2f860b5f..ed6f5a584c2c 100644 --- a/drivers/power/supply/max14577_charger.c +++ b/drivers/power/supply/max14577_charger.c @@ -572,8 +572,10 @@ static int max14577_charger_probe(struct platform_device *pdev) chg->max14577 = max14577; chg->pdata = max14577_charger_dt_init(pdev); - if (IS_ERR_OR_NULL(chg->pdata)) + if (IS_ERR(chg->pdata)) return PTR_ERR(chg->pdata); + else if (!chg->pdata) + return -ENODATA; ret = max14577_charger_reg_init(chg); if (ret)
When the kernel is not configured CONFIG_OF, the max14577_charger_dt_init function returns NULL. Fix the max14577_charger_probe functionby returning -ENODATA instead of potentially passing a NULL pointer to PTR_ERR. Fix below smatch warning. smatch warnings: drivers/power/supply/max14577_charger.c:576 max14577_charger_probe() warn: passing zero to 'PTR_ERR' Fixes: e30110e9c96f ("charger: max14577: Configure battery-dependent settings from DTS and sysfs") Signed-off-by: Charles Han <hanchunchao@inspur.com> --- drivers/power/supply/max14577_charger.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)