diff options
author | Peter Chen <peter.chen@nxp.com> | 2018-06-05 21:43:27 -0400 |
---|---|---|
committer | Peter Chen <peter.chen@nxp.com> | 2018-06-25 21:59:34 -0400 |
commit | 90f26cc6bb90b35040f4da0347f480ea9df6e2fc (patch) | |
tree | 9a547ca08bdb535009083aefdc79ec663ea6132e | |
parent | d5a4f93511b7000183c0d528739b824752139f79 (diff) |
usb: chipidea: host: fix disconnection detect issue
The commit 4e88d4c08301 ("usb: add a flag to skip PHY
initialization to struct usb_hcd") delete the assignment
for hcd->usb_phy, it causes usb_phy_notify_connect{disconnect)
are not called, the USB PHY driver is not notified of hot plug
event, then the disconnection will not be detected by hardware.
Fixes: 4e88d4c08301 ("usb: add a flag to skip PHY initialization
to struct usb_hcd")
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reported-by: Mats Karrman <mats.dev.list@gmail.com>
Tested-by: Mats Karrman <mats.dev.list@gmail.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
-rw-r--r-- | drivers/usb/chipidea/host.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index af45aa3222b5..4638d9b066be 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c | |||
@@ -124,8 +124,11 @@ static int host_start(struct ci_hdrc *ci) | |||
124 | 124 | ||
125 | hcd->power_budget = ci->platdata->power_budget; | 125 | hcd->power_budget = ci->platdata->power_budget; |
126 | hcd->tpl_support = ci->platdata->tpl_support; | 126 | hcd->tpl_support = ci->platdata->tpl_support; |
127 | if (ci->phy || ci->usb_phy) | 127 | if (ci->phy || ci->usb_phy) { |
128 | hcd->skip_phy_initialization = 1; | 128 | hcd->skip_phy_initialization = 1; |
129 | if (ci->usb_phy) | ||
130 | hcd->usb_phy = ci->usb_phy; | ||
131 | } | ||
129 | 132 | ||
130 | ehci = hcd_to_ehci(hcd); | 133 | ehci = hcd_to_ehci(hcd); |
131 | ehci->caps = ci->hw_bank.cap; | 134 | ehci->caps = ci->hw_bank.cap; |