Browse Source

HWA: avoid constant suspend and resume on the root hub

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>
Thomas Pugliese 12 years ago
parent
commit
644f6a121a
1 changed files with 7 additions and 0 deletions
  1. 7 0
      drivers/usb/host/hwa-hc.c

+ 7 - 0
drivers/usb/host/hwa-hc.c

@@ -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);