[PATCH][FOR-2.6.39.4][SHR] s3c24xx: ACK the external interrupt source when no handler is available
Thamos
tigerred at gmx.de
Thu Nov 28 13:16:01 CET 2013
Hi,
great news, that somebody is working on these annoying resume bugs...
Is this patch flowing somewhere in (like shr-core-staging?), or do i
have to apply them manually and build my own kernel?
Thanks for your great work!
Thamos
Am 26.11.2013 12:22, schrieb Paul Fertser:
> The 2.6.39.4 version running on gta02 is sometimes (~0.5 - 4%) getting
> stuck on resume. The inspection showed that it constantly reenters
> s3c_irq_demux_extint8() but since all the external interrupts are
> masked at that time, no downstream handler is called. As the result,
> the corresponding SRCPND bit is never cleared and the handler reenters
> right after exiting.
>
> Even though the cause for external interrupts being masked while
> there's a pending request present are still unclear, this patch seems
> to be doing the right thing (at least for that old kernel version). My
> device is running continious suspend/resume test for ~15 hours now
> (while it used to hang in less than 30 minutes of the same test
> before).
>
> Thanks go to lindi- and gena2x for providing me with an openmoko debug
> board.
>
> Signed-off-by: Paul Fertser <fercerpav at gmail.com>
> ---
> arch/arm/plat-s3c24xx/irq.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
> index 1317f04..0bcaccb 100644
> --- a/arch/arm/plat-s3c24xx/irq.c
> +++ b/arch/arm/plat-s3c24xx/irq.c
> @@ -484,6 +484,11 @@ s3c_irq_demux_extint8(unsigned int irq,
> eintpnd &= ~eintmsk;
> eintpnd &= ~0xff; /* ignore lower irqs */
>
> + /* in case no IRQ is pending but we got here we still
> + must ack the parent or else we get an irq storm */
> + if (!eintpnd)
> + s3c_irq_ack(irq_get_irq_data(IRQ_EINT8t23));
> +
> /* we may as well handle all the pending IRQs here */
>
> while (eintpnd) {
>
--
eMails sind wie Postkarten -> deshalb verschlüsseln!
GnuPG: http://www.gpg4win.de/ + Thunderbird:
https://www.mozilla.org/de/thunderbird/
+ Enigmail AddOn
Android: K9 Mail + APG
More information about the openmoko-kernel
mailing list