Files
linux/drivers
Jon Hunter d92aca3a76 serial: tegra: Correct shutdown of UARTs
There are two issues in the shutdown path of the UARTs which are:
1. The function tegra_uart_shutdown() calls tegra_uart_flush_buffer()
   to stop DMA TX transfers. However, tegra_uart_flush_buffer() is
   called after the DMA channels have already been freed and so actually
   does nothing.
2. The function that frees the DMA channels
   (tegra_uart_dma_channel_free()), unmaps the dma buffer before
   freeing the DMA channel and does not ensure the DMA has been
   stopped.

Resolve this by fixing the code in tegra_uart_dma_channel_free() to
ensure the DMA is stopped, free the DMA channel and then unmap the DMA
buffer. Finally, remove the unnecessary call to tegra_uart_flush_buffer().

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 19:12:19 +02:00
..
2015-04-17 15:32:07 -04:00
2015-04-30 16:48:53 -04:00
2015-04-07 12:05:12 +02:00
2015-04-15 10:02:42 +02:00
2015-03-31 12:01:19 -04:00
2015-04-23 16:55:50 +02:00
2015-04-27 10:10:19 -07:00
2015-04-08 08:11:51 -06:00
2015-03-25 12:25:29 +01:00