Hi!
> > When using runtime PM in combination with CPUidle, the runtime PM
> > transtions of some devices may be triggered during the idle path.
> > Late in the idle sequence, interrupts will likely be disabled when
> > runtime PM for these devices is initiated.
> >
> > Currently, the runtime PM core assumes methods are called with
> > interrupts enabled. However, if it is called with interrupts
> > disabled, the internal locking unconditionally enables interrupts, for
> > example:
>
> ...
>
> > Unconditionally enabling interrupts late in the idle sequence is not
> > desired behavior. To fix, use the save/restore versions of the
> > spinlock API.
> >
> > Reported-by: Partha Basak <[email protected]>
> > Signed-off-by: Kevin Hilman <[email protected]>
> > ---
> > RFC: I'm not crazy about having the 'flags' in struct dev_pm_info, but
> > since the locks are taken and released in separate functions, this
> > seems better than changing the function APIs to pass around the flags.
>
> There are restrictions on what you're allowed to do with the flags, but
> I don't remember exactly what they are.
There used to be 'flags must local variable, and enable/disable must
happen in same function' restriction on sparc. Not sure if it is still
present. Ask davem?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures)
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html