chipidea: udc: free pending TD at removal procedure
authorPeter Chen <peter.chen@freescale.com>
Tue, 10 Sep 2013 07:34:39 +0000 (15:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Sep 2013 00:20:52 +0000 (17:20 -0700)
commit4a29567b77bb87e8a488510f2d37c612e008d21b
tree3e8a0311cb399356bc8244a69159ecb6feaad596
parent05c92da0c52494caf97d58be1b05b1f95a79ce4e
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.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/udc.c