USB: EHCI: fix scheduling while atomic during suspend
[firefly-linux-kernel-4.4.55.git] / drivers / usb / host / ehci-au1xxx.c
index faa61748db7037d487bd91315fb9c3e779a5bd29..a869e3c103d348be6e3604e7226b40d96035efb7 100644 (file)
@@ -227,8 +227,8 @@ static int ehci_hcd_au1xxx_drv_suspend(struct device *dev)
         * mark HW unaccessible.  The PM and USB cores make sure that
         * the root hub is either suspended or stopped.
         */
+       ehci_prepare_ports_for_controller_suspend(ehci, device_may_wakeup(dev));
        spin_lock_irqsave(&ehci->lock, flags);
-       ehci_prepare_ports_for_controller_suspend(ehci);
        ehci_writel(ehci, 0, &ehci->regs->intr_enable);
        (void)ehci_readl(ehci, &ehci->regs->intr_enable);