• John Ogness's avatar
    tty: serial: 8250: omap: synchronize rx_running · eda0cd35
    John Ogness authored
    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: default avatarJohn Ogness <john.ogness@linutronix.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    eda0cd35
8250_omap.c 34.9 KB