HWA: avoid constant suspend and resume on the root hub
authorThomas Pugliese <thomas.pugliese@gmail.com>
Thu, 8 Aug 2013 20:25:47 +0000 (15:25 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Aug 2013 22:41:09 +0000 (15:41 -0700)
Prevent the USB core from suspending the HWA root hub since bus_suspend
and bus_resume are not yet supported.  Otherwise the PM system will chew
up CPU time constantly attempting to suspend and resume the root hub but
never succeeding.

Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/hwa-hc.c

index 483990c..5b86ffb 100644 (file)
@@ -161,6 +161,13 @@ static int hwahc_op_start(struct usb_hcd *usb_hcd)
        usb_hcd->uses_new_polling = 1;
        set_bit(HCD_FLAG_POLL_RH, &usb_hcd->flags);
        usb_hcd->state = HC_STATE_RUNNING;
+
+       /*
+        * prevent USB core from suspending the root hub since
+        * bus_suspend and bus_resume are not yet supported.
+        */
+       pm_runtime_get_noresume(&usb_hcd->self.root_hub->dev);
+
        result = 0;
 out:
        mutex_unlock(&wusbhc->mutex);