static int _suspend_enter(suspend_state_t state) { int error = 0; arch_suspend_disable_irqs(); BUG_ON(!irqs_disabled()); if ((error = device_power_down(PMSG_SUSPEND))) { printk(KERN_ERR "PM: Some devices failed to power down\n"); goto Done; } error = sysdev_suspend(PMSG_SUSPEND); if (!error) { if (!suspend_test(TEST_CORE)) error = suspend_ops->enter(state); sysdev_resume(); } device_power_up(PMSG_RESUME); Done: #ifdef CONFIG_QUICK_WAKEUP quickwakeup_check(); #endif arch_suspend_enable_irqs(); BUG_ON(irqs_disabled()); return error; }
static int _suspend_enter(suspend_state_t state) { int error; arch_suspend_disable_irqs(); BUG_ON(!irqs_disabled()); error = sysdev_suspend(PMSG_SUSPEND); if (!error) { if (!suspend_test(TEST_CORE)) error = suspend_ops->enter(state); sysdev_resume(); } if (!error) { #ifdef CONFIG_QUICK_WAKEUP quickwakeup_check(); #endif } arch_suspend_enable_irqs(); BUG_ON(irqs_disabled()); return error; }