diff options
author | Thomas Abraham | 2012-11-22 18:06:28 +0530 |
---|---|---|
committer | Greg Kroah-Hartman | 2012-11-26 15:36:39 -0800 |
commit | c15c3747ee32b6969f3cfbc86dc94923e3742d0a (patch) | |
tree | 2c2f9b77abcaa8f116e6f87bf91208e6013d3fee /drivers/pinctrl/Kconfig | |
parent | daa74a25cc7351a9fb01ba7611af5ef5df80ae4e (diff) |
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/pinctrl/Kconfig')
0 files changed, 0 insertions, 0 deletions