2019-05-31 09:20:15

by Fabien DESSENNE

[permalink] [raw]
Subject: [PATCH] media: stm32-dcmi: fix irq = 0 case

Manage the irq = 0 case, where we shall return an error.

Fixes: b5b5a27bee58 ("media: stm32-dcmi: return appropriate error codes during probe")
Signed-off-by: Fabien Dessenne <[email protected]>
---
drivers/media/platform/stm32/stm32-dcmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
index b9dad0a..d855e9c 100644
--- a/drivers/media/platform/stm32/stm32-dcmi.c
+++ b/drivers/media/platform/stm32/stm32-dcmi.c
@@ -1702,7 +1702,7 @@ static int dcmi_probe(struct platform_device *pdev)
if (irq <= 0) {
if (irq != -EPROBE_DEFER)
dev_err(&pdev->dev, "Could not get irq\n");
- return irq;
+ return irq ? irq : -ENXIO;
}

dcmi->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
--
2.7.4


2019-05-31 09:32:18

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH] media: stm32-dcmi: fix irq = 0 case

On Fri 2019-05-31 11:18:15, Fabien Dessenne wrote:
> Manage the irq = 0 case, where we shall return an error.
>
> Fixes: b5b5a27bee58 ("media: stm32-dcmi: return appropriate error codes during probe")
> Signed-off-by: Fabien Dessenne <[email protected]>

Acked-by: Pavel Machek <[email protected]>
Reported-by: Pavel Machek <[email protected]>

:-).
Pavel

> +++ b/drivers/media/platform/stm32/stm32-dcmi.c
> @@ -1702,7 +1702,7 @@ static int dcmi_probe(struct platform_device *pdev)
> if (irq <= 0) {
> if (irq != -EPROBE_DEFER)
> dev_err(&pdev->dev, "Could not get irq\n");
> - return irq;
> + return irq ? irq : -ENXIO;
> }
>
> dcmi->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);

--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


Attachments:
(No filename) (882.00 B)
signature.asc (188.00 B)
Digital signature
Download all attachments

2019-06-03 13:06:30

by Fabien DESSENNE

[permalink] [raw]
Subject: Re: [PATCH] media: stm32-dcmi: fix irq = 0 case

Hi Hans


"platform_get_irq() = 0" shall be considered as an error. See these
discussions:
https://patchwork.kernel.org/patch/10006651/
https://yarchive.net/comp/linux/zero.html

BR

Fabien

On 03/06/2019 1:45 PM, Hans Verkuil wrote:
> On 5/31/19 11:18 AM, Fabien Dessenne wrote:
>> Manage the irq = 0 case, where we shall return an error.
>>
>> Fixes: b5b5a27bee58 ("media: stm32-dcmi: return appropriate error codes during probe")
>> Signed-off-by: Fabien Dessenne <[email protected]>
>> ---
>> drivers/media/platform/stm32/stm32-dcmi.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
>> index b9dad0a..d855e9c 100644
>> --- a/drivers/media/platform/stm32/stm32-dcmi.c
>> +++ b/drivers/media/platform/stm32/stm32-dcmi.c
>> @@ -1702,7 +1702,7 @@ static int dcmi_probe(struct platform_device *pdev)
>> if (irq <= 0) {
> Shouldn't this be 'irq < 0' instead of '<=' ?
>
> AFAICT irq == 0 can be a valid irq and isn't an error.
>
> Regards,
>
> Hans
>
>> if (irq != -EPROBE_DEFER)
>> dev_err(&pdev->dev, "Could not get irq\n");
>> - return irq;
>> + return irq ? irq : -ENXIO;
>> }
>>
>> dcmi->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>

2019-06-03 17:36:54

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH] media: stm32-dcmi: fix irq = 0 case

On 6/3/19 3:03 PM, Fabien DESSENNE wrote:
> Hi Hans
>
>
> "platform_get_irq() = 0" shall be considered as an error. See these
> discussions:
> https://patchwork.kernel.org/patch/10006651/
> https://yarchive.net/comp/linux/zero.html

Hmm, then many media drivers are wrong since most check for < 0.

In any case, I'll pick up this patch whenever I make a next pull request
for fixes like this.

Regards,

Hans

>
> BR
>
> Fabien
>
> On 03/06/2019 1:45 PM, Hans Verkuil wrote:
>> On 5/31/19 11:18 AM, Fabien Dessenne wrote:
>>> Manage the irq = 0 case, where we shall return an error.
>>>
>>> Fixes: b5b5a27bee58 ("media: stm32-dcmi: return appropriate error codes during probe")
>>> Signed-off-by: Fabien Dessenne <[email protected]>
>>> ---
>>> drivers/media/platform/stm32/stm32-dcmi.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
>>> index b9dad0a..d855e9c 100644
>>> --- a/drivers/media/platform/stm32/stm32-dcmi.c
>>> +++ b/drivers/media/platform/stm32/stm32-dcmi.c
>>> @@ -1702,7 +1702,7 @@ static int dcmi_probe(struct platform_device *pdev)
>>> if (irq <= 0) {
>> Shouldn't this be 'irq < 0' instead of '<=' ?
>>
>> AFAICT irq == 0 can be a valid irq and isn't an error.
>>
>> Regards,
>>
>> Hans
>>
>>> if (irq != -EPROBE_DEFER)
>>> dev_err(&pdev->dev, "Could not get irq\n");
>>> - return irq;
>>> + return irq ? irq : -ENXIO;
>>> }
>>>
>>> dcmi->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> >

2019-06-03 18:00:47

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH] media: stm32-dcmi: fix irq = 0 case

On 5/31/19 11:18 AM, Fabien Dessenne wrote:
> Manage the irq = 0 case, where we shall return an error.
>
> Fixes: b5b5a27bee58 ("media: stm32-dcmi: return appropriate error codes during probe")
> Signed-off-by: Fabien Dessenne <[email protected]>
> ---
> drivers/media/platform/stm32/stm32-dcmi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
> index b9dad0a..d855e9c 100644
> --- a/drivers/media/platform/stm32/stm32-dcmi.c
> +++ b/drivers/media/platform/stm32/stm32-dcmi.c
> @@ -1702,7 +1702,7 @@ static int dcmi_probe(struct platform_device *pdev)
> if (irq <= 0) {

Shouldn't this be 'irq < 0' instead of '<=' ?

AFAICT irq == 0 can be a valid irq and isn't an error.

Regards,

Hans

> if (irq != -EPROBE_DEFER)
> dev_err(&pdev->dev, "Could not get irq\n");
> - return irq;
> + return irq ? irq : -ENXIO;
> }
>
> dcmi->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>