]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/base/sys.c
PM: Rework handling of interrupts during suspend-resume
[linux-2.6-omap-h63xx.git] / drivers / base / sys.c
index cbd36cf59a0f2e2af74ddc9255f64380299a6666..76ce75bad91eb56e897012494a0bdbafde24b9a6 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/pm.h>
 #include <linux/device.h>
 #include <linux/mutex.h>
+#include <linux/interrupt.h>
 
 #include "base.h"
 
@@ -369,6 +370,13 @@ int sysdev_suspend(pm_message_t state)
        struct sysdev_driver *drv, *err_drv;
        int ret;
 
+       pr_debug("Checking wake-up interrupts\n");
+
+       /* Return error code if there are any wake-up interrupts pending */
+       ret = check_wakeup_irqs();
+       if (ret)
+               return ret;
+
        pr_debug("Suspending System Devices\n");
 
        list_for_each_entry_reverse(cls, &system_kset->list, kset.kobj.entry) {