Re: [RESEND PATCH] charger-manager: Fix checking of wrong return type
From: Chanwoo Choi
Date: Thu Mar 27 2014 - 20:52:55 EST
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@xxxxxxxxxxx>
>> Signed-off-by: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx>
>> ---
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/