Patch "usb: host: ehci-platform: fix usb 1.1 device is not connected in system resume" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
usb: host: ehci-platform: fix usb 1.1 device is not connected in system resume
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
usb-host-ehci-platform-fix-usb-1.1-device-is-not-connected-in-system-resume.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
d4d75128b8fd727d42c775a16b41634d09409dbaMon Sep 17 00:00:00 2001
From: Yoshihiro Shimoda <[email protected]>
Date: Tue, 21 Feb 2017 19:59:48 +0900
Subject: usb: host: ehci-platform: fix usb 1.1 device is not connected in system resume
From: Yoshihiro Shimoda <[email protected]>
commit d4d75128b8fd727d42c775a16b41634d09409dba upstream.
This patch fixes an issue that a usb 1.1 device is not connected in system resume and then the following message appeared if debug messages are enabled:
usb 2-1: Waited 2000ms for CONNECT
To resolve this issue, the EHCI controller must be resumed after its companion controllers. So, this patch adds such code on the driver.
--- drivers/usb/host/ehci-platform.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/usb/host/ehci-platform.c +7 -0
@@ -34,6 +34,7 @@#include <linux/usb.h> #include <linux/usb/hcd.h> #include <linux/usb/ehci_pdriver.h> +#include <linux/usb/of.h> #include "ehci.h"
@@ -292,6 +293,7 @@ static int ehci_platform_probe(struct pl goto err_power;device_wakeup_enable (hcd->self.controller); +device_enable_async_suspend (hcd->self.controller);platform_set_drvdata (dev, hcd);return err;
@@ -367,6 +369,7 @@ static int ehci_platform_resume(struct dstruct platform_device *pdev = container_of(dev, struct platform_device, dev);struct ehci_platform_priv *priv =hcd_to_ehci_priv (hcd); +struct device *companion_dev;if (pdata->power_on) {int err = pdata->power_on (pdev);
@@ -374,6 +377,10 @@ static int ehci_platform_resume(struct dreturn err; } + companion_dev =usb_of_get_companion_dev (hcd->self.controller); +if (companion_dev) +device_pm_wait_for_dev (hcd->self.controller, companion_dev); +ehci_resume (hcd, priv->reset_on_resume);return 0 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/usb-host-ehci-platform-fix-usb-1.1-device-is-not-connected-in-system-resume.patch queue-4.4/usb-ehci-platform-fix-companion-device-leak.patch