Messages in this thread | | | From | Bartlomiej Zolnierkiewicz <> | Subject | Re: [RESEND PATCH] charger-manager: Fix checking of wrong return type | Date | Thu, 27 Mar 2014 17:52:18 +0100 |
| |
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'.
> }
Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics
| |