Thread (14 messages) 14 messages, 3 authors, 2020-09-16

Re: [PATCH v2 1/4] Input: ep93xx_keypad - Fix handling of platform_get_irq() error

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2020-09-16 00:56:35
Also in: linux-arm-kernel, lkml

On Tue, Sep 15, 2020 at 06:05:22PM +0200, Krzysztof Kozlowski wrote:
On Mon, 14 Sep 2020 at 08:51, Dmitry Torokhov [off-list ref] wrote:
quoted
Hi Krzysztof,

On Fri, Aug 28, 2020 at 04:57:41PM +0200, Krzysztof Kozlowski wrote:
quoted
platform_get_irq() returns -ERRNO on error.  In such case comparison
to 0 would pass the check.
platform_get_irq() is a bit of a mess. Historically we allowed defining
interrupt resource with r->start == 0 and for such cases non-OF non-ACPI
code will return 0 from platform_get_irq() to indicate that IRQ is not
assigned.

We either need to stop doing this in platform_get_irq(), or the
conditions in this patch and followups should be "irq <= 0" and we need
to make sure we do not accidentally return 0 from probe ...
Hi,

It's then contradictory to platform_get_irq documentation which
explicitly says - zero will not be returned on error. This was also
clarified in commit e330b9a6bb35 ("platform: don't return 0 from
platform_get_irq[_byname]() on error").
It was for OF/ACPI, but not for resources described via DEFINE_RES_IRQ
or other means. However I see we added a big fat WARN_ON() in case if we
end up returning 0 still, so I will be applying your patches.

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help