summaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/ifx6x60.c
diff options
context:
space:
mode:
authorThomas Abraham <thomas.abraham@linaro.org>2012-11-22 18:06:28 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-26 15:36:39 -0800
commitc15c3747ee32b6969f3cfbc86dc94923e3742d0a (patch)
tree2c2f9b77abcaa8f116e6f87bf91208e6013d3fee /drivers/tty/serial/ifx6x60.c
parentdaa74a25cc7351a9fb01ba7611af5ef5df80ae4e (diff)
downloadop-kernel-dev-c15c3747ee32b6969f3cfbc86dc94923e3742d0a.zip
op-kernel-dev-c15c3747ee32b6969f3cfbc86dc94923e3742d0a.tar.gz
serial: samsung: fix potential soft lockup during uart write
Certain tty line discipline implementations such slip and bluetooth hci invoke the serial core uart_write() api in their write_wakeup callback. This leads to a soft lockup with samsung serial driver since the uart port lock is taken in the driver's interrupt handler and uart_write() attempts to take the same lock again. Fix this issue by releasing the uart port lock before the call to uart_write_wakeup() in the tx handler. Also move the spin-lock/unlock sequence from s3c64xx_serial_handle_irq() function into the tx and rx irq handlers so that this change is applicable to s3c24xx platforms as well. Reported-by: Kyungmin Park <kyungmin.park@samsung.com> Reported-by: Hyeonkook Kim <hk619.kim@samsung.com> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/ifx6x60.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud