serial: 8250: Fix thread unsafe __dma_tx_complete function
authorLoic Poulain <loic.poulain@intel.com>
Thu, 24 Apr 2014 09:34:48 +0000 (11:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Apr 2014 22:18:02 +0000 (15:18 -0700)
commitf8fd1b0350d3a4581125f5eda6528f5a2c5f9183
treef350e27d766290b1a14ea59d5bc5d40e87f77eb2
parentb08c9c317e3f7764a91d522cd031639ba42b98cc
serial: 8250: Fix thread unsafe __dma_tx_complete function

__dma_tx_complete is not protected against concurrent
call of serial8250_tx_dma. it can lead to circular tail
index corruption or parallel call of serial_tx_dma on the
same data portion.

This patch fixes this issue by holding the port lock.

Signed-off-by: Loic Poulain <loic.poulain@intel.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_dma.c