[PATCH] omap3: pm: Downgrade WARN for no wakeup source

Premi, Sanjeev premi at ti.com
Thu Jun 16 12:13:07 EDT 2011


> -----Original Message-----
> From: Hilman, Kevin 
> Sent: Thursday, June 16, 2011 8:52 PM
> To: Premi, Sanjeev
> Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH] omap3: pm: Downgrade WARN for no wakeup source
> 
> Hi Sanjeev,
> 
> Sanjeev Premi <premi at ti.com> writes:
> 
> > When multiple wakeup sources are defined in a system,
> > there is a small window, when more than one source
> > can trigger wakeup interrupt.
> >
> > In the current implementation, the do-while() loop
> > can handle all wakeup sources that are recorded when
> > probing the status register in prcm_interrupt_handler().
> >
> > When the ISR executes due to next queued wakeup, it
> > there is nothing to be handled and value of "c" is 0.
> 
> Thanks for tracking this one down.
> 
> However, It's still not clear to me what is happening here.
> 
> Why is the IRQ firing if there is nothing to be handled?  
> That suggests
> to me that the IRQ status is not properly being cleared.

[SP] On the contrary the IRQ status is actually getting cleared,
     but there are more than "1" PRCM interrupts queued.

     The do-while() clears all the interrupt sources that
     are flagged in the status register.

     When the next wakeup interrupt is getting processed, the
     status register doesn't contain any "source" to handle.
     and value of "c" is returned as 0.... leading to the
     warning.

~sanjeev

> 
> Kevin
> 


More information about the linux-arm-kernel mailing list