Hi,

On Mon, Nov 18, 2013 at 04:54:35PM +0100, Markus Pargmann wrote:
> If there is no gadget driver musb should stay in B_IDLE state.
> 
> Signed-off-by: Markus Pargmann <m...@pengutronix.de>
> ---
>  drivers/usb/musb/musb_core.c   |  3 ---
>  drivers/usb/musb/musb_gadget.c | 14 ++++++++++++--
>  2 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
> index 4db987f..8b7d903 100644
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -831,12 +831,9 @@ b_host:
>                       case OTG_STATE_B_WAIT_ACON:
>                               dev_dbg(musb->controller, "HNP: RESET (%s), to 
> b_peripheral\n",
>                                       
> usb_otg_state_string(musb->xceiv->state));
> -                             musb->xceiv->state = OTG_STATE_B_PERIPHERAL;
>                               musb_g_reset(musb);
>                               break;
>                       case OTG_STATE_B_IDLE:
> -                             musb->xceiv->state = OTG_STATE_B_PERIPHERAL;
> -                             /* FALLTHROUGH */
>                       case OTG_STATE_B_PERIPHERAL:
>                               musb_g_reset(musb);
>                               break;

this is not the right way to fix it. We in OTG or host-only builds of
this driver, we should never show up in the USB bus until a gadget
driver has been probed. That's what we have ->pullup() for.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to