Messages in this thread | | | Date | Fri, 28 Mar 2014 09:52:48 +0900 | From | Chanwoo Choi <> | Subject | Re: [RESEND PATCH] charger-manager: Fix checking of wrong return type |
| |
Hi,
On 03/28/2014 01:52 AM, Bartlomiej Zolnierkiewicz wrote: > > Hi, > > On Thursday, March 27, 2014 08:56:55 PM Chanwoo Choi wrote: >> This patch fix minor issue about checking wrong return type. >> >> The of_cm_parse_desc() return ERR_PTR(errnor number) when some error happen >> in this function. But, charger_manager_probe() has only checked whether >> desc is NULL or not. If of_cm_parse_desc() returns ERR_PTR(-ENOMEM), desc >> isn't NULL but desc is (void *)(-ENOMEM). Althouhg some error happen for parsing >> DT, charger_manager_probe() can't detect error of desc instance. >> >> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> >> --- >> drivers/power/charger-manager.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c >> index 9e4dab4..a10fb57 100644 >> --- a/drivers/power/charger-manager.c >> +++ b/drivers/power/charger-manager.c >> @@ -1677,7 +1677,7 @@ static int charger_manager_probe(struct platform_device *pdev) >> } >> } >> >> - if (!desc) { >> + if (IS_ERR(desc)) { >> dev_err(&pdev->dev, "No platform data (desc) found\n"); >> return -ENODEV; > > While you are at it you may also fix the code to return the proper error > code. of_cm_parse_desc() currently returns -ENOMEM not -ENODEV but it > would be even better to decode the actual return code from desc by using > 'return PTR_ERR(desc)' instead of 'return -ENODEV'.
I'll resend this patch after fix it.
Thanks, Chanwoo Choi
| |