diff options
author | John Ogness <john.ogness@linutronix.de> | 2015-04-27 13:52:33 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-05-06 22:27:01 +0200 |
commit | eda0cd3546ab2c69796ea0bfdc04723c74372f1d (patch) | |
tree | 93f563e8d80b7049debeab9310290997533fb9a4 /drivers/tty/rocket_int.h | |
parent | 02ec6041a8dd17d9bd7dd12eb6280a6b112f83e5 (diff) | |
download | talos-op-linux-eda0cd3546ab2c69796ea0bfdc04723c74372f1d.tar.gz talos-op-linux-eda0cd3546ab2c69796ea0bfdc04723c74372f1d.zip |
tty: serial: 8250: omap: synchronize rx_running
The rx_running flag should show if DMA is currently active. However
there is a window between when the flag is set/cleared and when
the DMA is started/stopped. Because the flag is queried from both
hard and soft irq contexts, the driver can make incorrect
decisions and do things like start a DMA transfer using a buffer
that is already setup to be used for a DMA transfer.
This patch adds a spinlock to synchronize the rx_running flag and
close the above mentioned window.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/rocket_int.h')
0 files changed, 0 insertions, 0 deletions