diff options
Diffstat (limited to 'drivers/usb/host/xhci.c')
-rw-r--r-- | drivers/usb/host/xhci.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 09987d57934c..5c72c431bab1 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c | |||
@@ -880,6 +880,10 @@ int xhci_suspend(struct xhci_hcd *xhci) | |||
880 | struct usb_hcd *hcd = xhci_to_hcd(xhci); | 880 | struct usb_hcd *hcd = xhci_to_hcd(xhci); |
881 | u32 command; | 881 | u32 command; |
882 | 882 | ||
883 | if (hcd->state != HC_STATE_SUSPENDED || | ||
884 | xhci->shared_hcd->state != HC_STATE_SUSPENDED) | ||
885 | return -EINVAL; | ||
886 | |||
883 | spin_lock_irq(&xhci->lock); | 887 | spin_lock_irq(&xhci->lock); |
884 | clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); | 888 | clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); |
885 | clear_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); | 889 | clear_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); |