# Re: \[PATCH 2/3\] usb: gadget: fsl\_qe\_udc: do not use tasklet\_disable before tasklet\_kill

- From: Felipe Balbi \<hidden\>
- Date: 2012-10-31 13:32:57 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2012/10/3949575
- Thread: https://ratatoskr.run/linuxppc-dev/2012/10/3949375/t.md

```text
On Wed, Oct 31, 2012 at 04:06:00PM +0800, Xiaotian Feng wrote:
> If tasklet_disable() is called before related tasklet handled,
> tasklet_kill will never be finished. tasklet_kill is enough.

how did you test this ? Why changing FSL driver instead of switching
over to chipidea which is supposed to be shared by every licensee of the
chipidea core ?

> Signed-off-by: Xiaotian Feng <redacted>
> Cc: Li Yang <redacted>
> Cc: Felipe Balbi <redacted>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: <redacted>
> Cc: <redacted>
> ---
>  drivers/usb/gadget/fsl_qe_udc.c |    4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c
> index b09452d..4ad3b82 100644
> --- a/drivers/usb/gadget/fsl_qe_udc.c
> +++ b/drivers/usb/gadget/fsl_qe_udc.c
> @@ -2661,7 +2661,7 @@ static int __devexit qe_udc_remove(struct platform_device *ofdev)
>  	usb_del_gadget_udc(&udc->gadget);
>  
>  	udc->done = &done;
> -	tasklet_disable(&udc->rx_tasklet);
> +	tasklet_kill(&udc->rx_tasklet);
>  
>  	if (udc->nullmap) {
>  		dma_unmap_single(udc->gadget.dev.parent,
> @@ -2698,8 +2698,6 @@ static int __devexit qe_udc_remove(struct platform_device *ofdev)
>  	free_irq(udc->usb_irq, udc);
>  	irq_dispose_mapping(udc->usb_irq);
>  
> -	tasklet_kill(&udc->rx_tasklet);
> -
>  	iounmap(udc->usb_regs);
>  
>  	device_unregister(&udc->gadget.dev);
> -- 
> 1.7.9.5
> 

-- 
balbi
```

## Attachments

- [signature.asc](https://ratatoskr.run/linuxppc-dev/2012/10/3949575/attachment/0) (application/pgp-signature, 836 bytes)
