Re: [PATCH 1/1] usb: chipidea: host: fix disconnection detect issue

2018-06-06 Thread Martin Blumenstingl
Hi Peter, Hi Mats,

On Wed, Jun 6, 2018 at 4:04 AM, Peter Chen  wrote:
> 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.
ouch, I totally missed that
thank you for taking time for bisecting, debugging and fixing this!

> Fixes: 4e88d4c08301 ("usb: add a flag to skip PHY initialization
> to struct usb_hcd")
> Cc: Martin Blumenstingl 
> Reported-by: Mats Karrman 
> Signed-off-by: Peter Chen 
Acked-by: Martin Blumenstingl 

> ---
>  drivers/usb/chipidea/host.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> 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)
>
> hcd->power_budget = ci->platdata->power_budget;
> hcd->tpl_support = ci->platdata->tpl_support;
> -   if (ci->phy || ci->usb_phy)
> +   if (ci->phy || ci->usb_phy) {
> hcd->skip_phy_initialization = 1;
> +   if (ci->usb_phy)
> +   hcd->usb_phy = ci->usb_phy;
> +   }
>
> ehci = hcd_to_ehci(hcd);
> ehci->caps = ci->hw_bank.cap;
> --
> 2.14.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] usb: chipidea: host: fix disconnection detect issue

2018-06-06 Thread Mats Karrman

On 2018-06-06 04:04, Peter Chen wrote:


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")
Cc: Martin Blumenstingl 
Reported-by: Mats Karrman 
Signed-off-by: Peter Chen 


Works for me!
Tested on SolidRun Hummingboard fsl,imx6dl

Tested-by: Mats Karrman 

Thanks,
Mats


---
  drivers/usb/chipidea/host.c | 5 -
  1 file changed, 4 insertions(+), 1 deletion(-)

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)
  
  	hcd->power_budget = ci->platdata->power_budget;

hcd->tpl_support = ci->platdata->tpl_support;
-   if (ci->phy || ci->usb_phy)
+   if (ci->phy || ci->usb_phy) {
hcd->skip_phy_initialization = 1;
+   if (ci->usb_phy)
+   hcd->usb_phy = ci->usb_phy;
+   }
  
  	ehci = hcd_to_ehci(hcd);

ehci->caps = ci->hw_bank.cap;


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/1] usb: chipidea: host: fix disconnection detect issue

2018-06-05 Thread Peter Chen
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")
Cc: Martin Blumenstingl 
Reported-by: Mats Karrman 
Signed-off-by: Peter Chen 
---
 drivers/usb/chipidea/host.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

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)
 
hcd->power_budget = ci->platdata->power_budget;
hcd->tpl_support = ci->platdata->tpl_support;
-   if (ci->phy || ci->usb_phy)
+   if (ci->phy || ci->usb_phy) {
hcd->skip_phy_initialization = 1;
+   if (ci->usb_phy)
+   hcd->usb_phy = ci->usb_phy;
+   }
 
ehci = hcd_to_ehci(hcd);
ehci->caps = ci->hw_bank.cap;
-- 
2.14.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html