]> git.baikalelectronics.ru Git - kernel.git/commit
usb: chipidea: udc: free pending TD at removal procedure
authorPeter Chen <peter.chen@freescale.com>
Tue, 17 Sep 2013 04:37:24 +0000 (12:37 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Sep 2013 00:30:36 +0000 (17:30 -0700)
commitf467a7e699d8da081eb0447e6a645af15a424e8c
tree9308359c82db79fba07b2d17918b2cfc8eede664
parent4c089f47aabb92da633723b0845b6c33c43a75e6
usb: chipidea: udc: free pending TD at removal procedure

There is a pending TD which is not freed after request finishes,
we do this due to a controller bug. This TD needs to be freed when
the driver is removed. It prints below error message when unload
chipidea driver at current code:
"ci_hdrc ci_hdrc.0: dma_pool_destroy ci_hw_td, b0001000 busy"
It indicates the buffer at dma pool are still in use.

This commit will free the pending TD at driver's removal procedure,
it can fix the problem described above.

Acked-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/udc.c