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 <[email protected]> > --- > 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
