APM: fix deadlock in APM_IOC_SUSPEND ioctl
[cascardo/linux.git] / drivers / char / apm-emulation.c
index f4837a8..6005c5c 100644 (file)
@@ -302,7 +302,7 @@ apm_ioctl(struct file *filp, u_int cmd, u_long arg)
                         * anything critical, chill a bit on each iteration.
                         */
                        while (wait_event_freezable(apm_suspend_waitqueue,
-                                       as->suspend_state == SUSPEND_DONE))
+                                       as->suspend_state != SUSPEND_ACKED))
                                msleep(10);
                        break;
                case SUSPEND_ACKTO: