Felipe Balbi wrote:
> 
> From: Sergei Shtylyov <[email protected]>
> 
> musb_platform_exit() is called twice from musb_init_controller() iff 
> controller
> initialization fails. Move the call (and the DevCtl register writes 
> surrounding
> it) from musb_free() to musb_remove().
> 
> Fix mispalced and now incorrect 'goto's in musb_init_controller().
> 
> Signed-off-by: Sergei Shtylyov <[email protected]>
> Signed-off-by: Felipe Balbi <[email protected]>

This one doesn't apply for me. I'm on commit 01e7770 plus
gregkh-07-usb-2.6.34-rc1.patch. The first 9 patches apply correctly,
but this one fails on hunk 4 of 6.

Felipe - are we on the same base here?

Looking at gregkh-07-usb-2.6.34-rc1.patch, this hunk is already taken care
of there.

- Anand

> ---
>  drivers/usb/musb/musb_core.c |   17 +++++++----------
>  1 files changed, 7 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
> index 8b68f21..508fd58 100644
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -1851,10 +1851,6 @@ static void musb_free(struct musb *musb)
>       put_device(musb->xceiv->dev);
>  #endif
>  
> -     musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
> -     musb_platform_exit(musb);
> -     musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
> -
>  #ifdef CONFIG_USB_MUSB_HDRC_HCD
>       usb_put_hcd(musb_to_hcd(musb));
>  #else
> @@ -2032,8 +2028,6 @@ bad_config:
>               musb->xceiv->state = OTG_STATE_A_IDLE;
>  
>               status = usb_add_hcd(musb_to_hcd(musb), -1, 0);
> -             if (status)
> -                     goto fail;
>  
>               DBG(1, "%s mode, status %d, devctl %02x %c\n",
>                       "HOST", status,
> @@ -2048,8 +2042,6 @@ bad_config:
>               musb->xceiv->state = OTG_STATE_B_IDLE;
>  
>               status = musb_gadget_setup(musb);
> -             if (status)
> -                     goto fail;
>  
>               DBG(1, "%s mode, status %d, dev%02x\n",
>                       is_otg_enabled(musb) ? "OTG" : "PERIPHERAL",
> @@ -2057,12 +2049,14 @@ bad_config:
>                       musb_readb(musb->mregs, MUSB_DEVCTL));
>  
>       }
> +     if (status < 0)
> +             goto fail2;
>  
>  #ifdef CONFIG_SYSFS
>       status = sysfs_create_group(&musb->controller->kobj, &musb_attr_group);
> -#endif
>       if (status)
>               goto fail2;
> +#endif
>  
>       dev_info(dev, "USB %s mode controller at %p using %s, IRQ %d\n",
>                       ({char *s;
> @@ -2125,7 +2119,6 @@ static int __init musb_probe(struct platform_device 
> *pdev)
>       /* clobbered by use_dma=n */
>       orig_dma_mask = dev->dma_mask;
>  #endif
> -
>       status = musb_init_controller(dev, irq, base);
>       if (status < 0)
>               iounmap(base);
> @@ -2148,6 +2141,10 @@ static int __exit musb_remove(struct platform_device 
> *pdev)
>       if (musb->board_mode == MUSB_HOST)
>               usb_remove_hcd(musb_to_hcd(musb));
>  #endif
> +     musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
> +     musb_platform_exit(musb);
> +     musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
> +
>       musb_free(musb);
>       iounmap(ctrl_base);
>       device_init_wakeup(&pdev->dev, 0);
> -- 
> 1.7.0.rc0.33.g7c3932
> 
> --
> 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
> --
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to