OSDN Git Service

serial: imx: call imx_dma_tx() again in dma_tx_callback
authorJiada Wang <jiada_wang@mentor.com>
Tue, 9 Dec 2014 09:11:30 +0000 (18:11 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jan 2015 22:23:07 +0000 (14:23 -0800)
commit0bbc9b81c1638f6e75c8ed423b5e6ae1a2035d79
treefc5a6ce0b2610597c6d3dd6b5dc28e34c827ccd8
parentd64b8607aceb9bd3b3dabddfc4f76458e5a8489d
serial: imx: call imx_dma_tx() again in dma_tx_callback

Currently in dma_tx_callback(), no matter if there is still
remaining data pending in circle buffer or not, DMA transmit
will be terminated.

This will result in some data never get transmitted.
In order to fix this issue, call imx_dma_tx() again in
dma_tx_callback, when there is pending data and uart hasn't
been stopped.

Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c