On Wednesday 11 March 2009, Thomas Gleixner wrote: > On Wed, 11 Mar 2009, Rafael J. Wysocki wrote: > > > On Wednesday 11 March 2009, Thomas Gleixner wrote: > > > On Wed, 11 Mar 2009, Rafael J. Wysocki wrote: > > > > On Wednesday 11 March 2009, Thomas Gleixner wrote: > > > > > > + desc->status |= IRQ_SUSPENDED; > > > > > > > > > > This flag needs to be checked in __enable_irq(). > > > > > > > > [I overlooked this comment, sorry.] > > > > > > > > Why does it? > > > > > > To catch abuse and callers of enable_irq() when this flag is set. > > > > Hmm. This means you'd like to make enable_irq() fail if called with > > IRQ_SUSPENDED set, correct? > > > > What if someone calls irq_disable() and then irq_enable() between > > suspend_device_irqs() and resume_device_irqs()? That would be pointless, but > > surely not a bug? Should irq_disable() also fail if IRQ_SUSPENDED is set? > > I'm not worried about nested ones. > > > Or should __enable_irq() only fail with IRQ_SUSPENDED set for desc->depth == 1? > > At least it needs a WARN_ON() in that case. A very prominent one. I'm going to make it fail and print a warning for desc->depth == 1if IRQ_SUSPENDED is set. Hope that's fine with everyone. Thanks, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm