ke, 2012-10-17 kello 19:02 +0300, Felipe Balbi kirjoitti:
> Hi,
> 
> On Thu, Oct 11, 2012 at 02:08:25PM -0700, Kevin Hilman wrote:
> > Hi Kalle,
> > 
> > Kalle Jokiniemi <kalle.jokini...@jollamobile.com> writes:
> > 
> > > The resume_noirq enables interrupts one-by-one starting from
> > > first one. Now if the wake up event for suspend came from i2c
> > > device, the i2c bus irq gets enabled before the threaded
> > > i2c device irq, causing a flood of i2c bus interrupts as the
> > > threaded irq that should clear the event is not enabled yet.
> > >
> > > Fixed the issue by adding suspend_noirq and resume_early
> > > functions that keep i2c bus interrupts disabled until
> > > resume_noirq has run completely.
> > >
> > > Issue was detected doing a wake up from autosleep with
> > > twl4030 power key on N9. Patch tested on N9.
> > >
> > > Signed-off-by: Kalle Jokiniemi <kalle.jokini...@jollamobile.com>
> > 
> > This version looks good, thanks for the extra comments.
> > 
> > Reviewed-by: Kevin Hilman <khil...@ti.com>
> > Tested-by: Kevin Hilman <khil...@ti.com>
> > 
> > Wolfram, This should also probably be Cc'd to stable since it affects
> > earlier kernels as well.  Thanks,
> 
> just to make sure we're not fixing the wrong problem... does [1] help in
> any way ?

Yes, I was fixing the wrong problem, this patch is obsolete. But the
problem was in the TWL interrupt handling (PIH was run before SIH), not
in i2c. See my other patch "twl4030: Fix chained irq handling on resume
from suspend"

> 
> [1] http://marc.info/?l=linux-omap&m=135048839915719&w=2
> 

Could be related, though if I understood correctly, that runtime pm
stuff gets run at noirq phase, so it probably does not help.

- Kalle


--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to