On Fri, 20 Apr 2007 21:37:18 +0200 Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > int suspend_enter(suspend_state_t state) > { > int error = 0; > unsigned long flags; > > - local_irq_save(flags); > + arch_s2ram_disable_irqs(&flags); > + BUG_ON(!irqs_disabled()); > > if ((error = device_power_down(PMSG_SUSPEND))) { > printk(KERN_ERR "Some devices failed to power down\n"); > @@ -143,7 +165,8 @@ int suspend_enter(suspend_state_t state) > error = pm_ops->enter(state); > device_power_up(); > Done: > - local_irq_restore(flags); > + arch_s2ram_enable_irqs(&flags); > + BUG_ON(irqs_disabled()); > return error; > } The second BUG_ON() looks a bit fishy to me. If someone calls suspend_enter() with local interrupts disabled, it will trigger. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm