* Tony Lindgren <[email protected]> [170405 06:53]:
> * Peter Ujfalusi <[email protected]> [170405 00:15]:
> > To be precise this is what I have tried:
> > - boot w/o cable connected
> > - boot w/ board connected to PC (device mode)
> > - boot w/ OTG-A cable with USB keyboard
> > - boot w/ OTG-A cable connected to powered USB hub and the same keyboard
> >
> > w/ and w/o this patch I have the same flood of prints in all cases.
>
> OK interesting that it also happens with nothing connected.
>
> > Fwiw I have checked where the is_active is set - which causes the prints:
> > musb_core.c:musb_start()
> >
> > if (musb->port_mode != MUSB_PORT_MODE_HOST &&
> > musb->xceiv->otg->state != OTG_STATE_A_WAIT_BCON &&
> > (devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS) {
> > musb->is_active = 1;
> > } else {
> > devctl |= MUSB_DEVCTL_SESSION;
> > }
> >
> > this was the only place where the is_active was set to 1.
>
> That seems normal in musb_start(). Will try with your .config
> here.
If the the port is configured as OTG, we should not need to
try to force any states during init. The change below will stop
the warnings with your .config, needs to be tested more though
to make sure things still work in all cases.
Regards,
Tony
8< --------------------------
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -2780,10 +2780,11 @@ int musb_host_setup(struct musb *musb, int power_budget)
int ret;
struct usb_hcd *hcd = musb->hcd;
- MUSB_HST_MODE(musb);
- musb->xceiv->otg->default_a = 1;
- musb->xceiv->otg->state = OTG_STATE_A_IDLE;
-
+ if (musb->port_mode == MUSB_PORT_MODE_HOST) {
+ MUSB_HST_MODE(musb);
+ musb->xceiv->otg->default_a = 1;
+ musb->xceiv->otg->state = OTG_STATE_A_IDLE;
+ }
otg_set_host(musb->xceiv->otg, &hcd->self);
hcd->self.otg_port = 1;
musb->xceiv->otg->host = &hcd->self;
--
2.12.2
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html