Re: [PATCH] musb: fix put_device() call sequence

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday 02 August 2009, Ajay Kumar Gupta wrote:
> Invoke put_device(musb->xceiv->dev) before musb_platform_exit()as
> xceiv is getting unregistered in musb_platform_exit().
> 
> Fixes put_device() panic when module insert/removal is performed
> multiple times.
> 
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@xxxxxx>

Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>

> ---
>  drivers/usb/musb/musb_core.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
> index c7c1ca0..129f9dc 100644
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -1850,6 +1850,10 @@ static void musb_free(struct musb *musb)
>  		dma_controller_destroy(c);
>  	}
>  
> +#ifdef CONFIG_USB_MUSB_OTG
> +	put_device(musb->xceiv->dev);
> +#endif
> +
>  	musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
>  	musb_platform_exit(musb);
>  	musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
> @@ -1859,10 +1863,6 @@ static void musb_free(struct musb *musb)
>  		clk_put(musb->clock);
>  	}
>  
> -#ifdef CONFIG_USB_MUSB_OTG
> -	put_device(musb->xceiv->dev);
> -#endif
> -
>  #ifdef CONFIG_USB_MUSB_HDRC_HCD
>  	usb_put_hcd(musb_to_hcd(musb));
>  #else
> -- 
> 1.6.2.4
> 
> 



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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux