2017-12-02 15:30:11

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] gpio: ftgpio010: Fix platform_get_irq's error checking

Hi Arvind,

thanks for the patch!

On Thu, Nov 30, 2017 at 3:12 PM, Arvind Yadav <[email protected]> wrote:

> The platform_get_irq() function returns negative if an error occurs.
> zero or positive number on success. platform_get_irq() error checking
> for zero is not correct.
>
> Signed-off-by: Arvind Yadav <[email protected]>
(...)
> irq = platform_get_irq(pdev, 0);
> - if (!irq)
> - return -EINVAL;
> + if (irq < 0)
> + return irq;

This is wrong.
For an in-depth explanation why irq 0 in not valid, see:
https://lwn.net/Articles/470820/

It should be:

if (irq <= 0)
return irq ? irq : -EINVAL;

Please update and resubmit. If you have more patches like this,
correct them too.

Yours,
Linus Walleij


2017-12-02 16:49:31

by Arvind Yadav

[permalink] [raw]
Subject: Re: [PATCH] gpio: ftgpio010: Fix platform_get_irq's error checking

Hi Linus,

On Saturday 02 December 2017 09:00 PM, Linus Walleij wrote:
> Hi Arvind,
>
> thanks for the patch!
>
> On Thu, Nov 30, 2017 at 3:12 PM, Arvind Yadav <[email protected]> wrote:
>
>> The platform_get_irq() function returns negative if an error occurs.
>> zero or positive number on success. platform_get_irq() error checking
>> for zero is not correct.
>>
>> Signed-off-by: Arvind Yadav <[email protected]>
> (...)
>> irq = platform_get_irq(pdev, 0);
>> - if (!irq)
>> - return -EINVAL;
>> + if (irq < 0)
>> + return irq;
> This is wrong.
> For an in-depth explanation why irq 0 in not valid, see:
> https://lwn.net/Articles/470820/
Thank you for sharing this Articles. It's really helpful.
>
> It should be:
>
> if (irq <= 0)
> return irq ? irq : -EINVAL;
>
> Please update and resubmit. If you have more patches like this,
> correct them too.
I will resubmit patch.
> Yours,
> Linus Walleij
Thanks,
arvind