We have a race where the wakeup IRQ might be in flight while we're
calling mwifiex_disable_wake() from resume(). This can leave us
disabling the IRQ twice.
Let's disable the IRQ and enable it in case if we have double-disabled
it.
Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
 {
        if (adapter->irq_wakeup >= 0) {
                disable_irq_wake(adapter->irq_wakeup);
-               if (!adapter->wake_by_wifi)
-                       disable_irq(adapter->irq_wakeup);
+               disable_irq(adapter->irq_wakeup);
+               if (adapter->wake_by_wifi)
+                       /* Undo our disable, since interrupt handler already
+                        * did this.
+                        */
+                       enable_irq(adapter->irq_wakeup);
+
        }
 }