On Thu, Apr 24, 2014 at 12:54:13PM +0400, Paul Fertser wrote:
> If VBUS is already present during the driver initialisation, the

s/initialisation/initialization

> corresponding IRQ never fires, so there is no way the gadget can get
> enumerated.
> 
> This patch is real-life tested on an i.MX25 board with VBUS constantly
> hooked up.
> 
> Signed-off-by: Paul Fertser <fercer...@gmail.com>
> ---
>  drivers/usb/gadget/fsl_udc_core.c |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/usb/gadget/fsl_udc_core.c 
> b/drivers/usb/gadget/fsl_udc_core.c
> index a2f26cd..b4b1516 100644
> --- a/drivers/usb/gadget/fsl_udc_core.c
> +++ b/drivers/usb/gadget/fsl_udc_core.c
> @@ -2501,6 +2501,11 @@ static int __init fsl_udc_probe(struct platform_device 
> *pdev)
>       if (ret)
>               goto err_del_udc;
>  
> +     /* Now let it settle a bit and sense VBUS */
> +     msleep_interruptible(1);
> +     if (fsl_readl(&dr_regs->otgsc) & OTGSC_STS_B_SESSION_VALID)
> +             udc_controller->vbus_active = 1;

good fix, should this go to stable ?

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to