linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* unexpected side effect of "gpiolib: override irq_enable/disable"
@ 2018-09-12 14:58 Ludovic Desroches
  2018-09-12 15:30 ` Hans Verkuil
  0 siblings, 1 reply; 11+ messages in thread
From: Ludovic Desroches @ 2018-09-12 14:58 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Using next-20180912, my kernel hangs during the boot. Git bisect tell me
that the cause of my issue is the commit "gpiolib: override
irq_enable/disable"

I dug further and this patch can have some side effects. When booting, I
have an infinite loop when trying to enable a gpio irq. I don't know if
the pinctrl-at91 driver is the only one concerned or not.

The pattern leading to this issue is quite simple: we have several gpio
controllers sharing the same irq_chip structure. Installing the
irq_enable/irq_disable hook works well the first time. The second time,
since the irq_enable has been altered to use gpiochip_irq_enable,
this latest function will call itself again and again by calling
irq_enable.

I think it should be better to have one irq_chip structure per gpio
controller. I am going to do a patch for pinctrl-at91. Excepting if you
think it has to be solved in a different way.


Ludovic

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-09-14  8:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-12 14:58 unexpected side effect of "gpiolib: override irq_enable/disable" Ludovic Desroches
2018-09-12 15:30 ` Hans Verkuil
2018-09-13  7:47   ` Ludovic Desroches
2018-09-13  8:42     ` Hans Verkuil
2018-09-13  9:02       ` Ludovic Desroches
2018-09-14  8:24         ` Hans Verkuil
2018-09-13  9:07     ` Hans Verkuil
2018-09-13  9:27       ` Linus Walleij
2018-09-13  9:28         ` Linus Walleij
2018-09-13 14:10           ` Hans Verkuil
2018-09-13  8:45   ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).