From f673d367283c828aee8e27cda24babaf9ac7d4b4 Mon Sep 17 00:00:00 2001 From: Alan Stern Date: Mon, 26 Sep 2011 11:23:38 -0400 Subject: [PATCH] --- yaml --- r: 265036 b: refs/heads/master c: a6eeeb9f45b5a417f574f3bc799b7122270bf59b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/core/hcd.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 694e7232f687..b6b56e92764c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0cc47d547d7a482434926331265b3713381b1e60 +refs/heads/master: a6eeeb9f45b5a417f574f3bc799b7122270bf59b diff --git a/trunk/drivers/usb/core/hcd.c b/trunk/drivers/usb/core/hcd.c index 73cbbd85219f..100d4b002642 100644 --- a/trunk/drivers/usb/core/hcd.c +++ b/trunk/drivers/usb/core/hcd.c @@ -2429,7 +2429,7 @@ int usb_add_hcd(struct usb_hcd *hcd, * but drivers can override it in reset() if needed, along with * recording the overall controller's system wakeup capability. */ - device_init_wakeup(&rhdev->dev, 1); + device_set_wakeup_capable(&rhdev->dev, 1); /* HCD_FLAG_RH_RUNNING doesn't matter until the root hub is * registered. But since the controller can die at any time, @@ -2478,6 +2478,13 @@ int usb_add_hcd(struct usb_hcd *hcd, } if (hcd->uses_new_polling && HCD_POLL_RH(hcd)) usb_hcd_poll_rh_status(hcd); + + /* + * Host controllers don't generate their own wakeup requests; + * they only forward requests from the root hub. Therefore + * controllers should always be enabled for remote wakeup. + */ + device_wakeup_enable(hcd->self.controller); return retval; error_create_attr_group: