[PATCH 2/3] usb: gadget: fsl_qe_udc: do not use tasklet_disable before tasklet_kill
Felipe Balbi
balbi at ti.com
Thu Nov 1 00:26:50 EST 2012
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 <dannyfeng at tencent.com>
> Cc: Li Yang <leoli at freescale.com>
> Cc: Felipe Balbi <balbi at ti.com>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Cc: linux-usb at vger.kernel.org
> Cc: linuxppc-dev at lists.ozlabs.org
> ---
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20121031/44f71ee5/attachment.sig>
More information about the Linuxppc-dev
mailing list