mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-05 22:28:00 +00:00
serial: imx: unmap scatter gather list in imx_flush_buffer
First, reformat the code to exit immediately. This allows us to add more code in more readable format. In case the TX DMA was still running, remove and disable it's resources. Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2464982174
commit
82e86ae941
1 changed files with 10 additions and 3 deletions
|
@ -1250,10 +1250,17 @@ static void imx_shutdown(struct uart_port *port)
|
|||
static void imx_flush_buffer(struct uart_port *port)
|
||||
{
|
||||
struct imx_port *sport = (struct imx_port *)port;
|
||||
struct scatterlist *sgl = &sport->tx_sgl[0];
|
||||
|
||||
if (sport->dma_is_enabled) {
|
||||
sport->tx_bytes = 0;
|
||||
dmaengine_terminate_all(sport->dma_chan_tx);
|
||||
if (!sport->dma_chan_tx)
|
||||
return;
|
||||
|
||||
sport->tx_bytes = 0;
|
||||
dmaengine_terminate_all(sport->dma_chan_tx);
|
||||
if (sport->dma_is_txing) {
|
||||
dma_unmap_sg(sport->port.dev, sgl, sport->dma_tx_nents,
|
||||
DMA_TO_DEVICE);
|
||||
sport->dma_is_txing = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue