Pavel Krasavin
065ae2ec2b
tty: serial: meson: fix hard LOCKUP on crtscts mode
...
commit 2a1d728f20edeee7f26dc307ed9df4e0d23947ab upstream.
There might be hard lockup if we set crtscts mode on port without RTS/CTS configured:
# stty -F /dev/ttyAML6 crtscts; echo 1 > /dev/ttyAML6; echo 2 > /dev/ttyAML6
[ 95.890386] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[ 95.890857] rcu: 3-...0: (201 ticks this GP) idle=e33c/1/0x4000000000000000 softirq=5844/5846 fqs=4984
[ 95.900212] rcu: (detected by 2, t=21016 jiffies, g=7753, q=296 ncpus=4)
[ 95.906972] Task dump for CPU 3:
[ 95.910178] task:bash state:R running task stack:0 pid:205 ppid:1 flags:0x00000202
[ 95.920059] Call trace:
[ 95.922485] __switch_to+0xe4/0x168
[ 95.925951] 0xffffff8003477508
[ 95.974379] watchdog: Watchdog detected hard LOCKUP on cpu 3
[ 95.974424] Modules linked in: 88x2cs(O) rtc_meson_vrtc
Possible solution would be to not allow to setup crtscts on such port.
Tested on S905X3 based board.
Fixes: ff7693d079e5 ("ARM: meson: serial: add MesonX SoC on-chip uart driver")
Cc: stable@vger.kernel.org
Signed-off-by: Pavel Krasavin <pkrasavin@imaqliq.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-28 17:19:57 +00:00
..
2023-11-08 11:56:24 +01:00
2022-09-22 16:11:43 +02:00
2023-07-25 19:21:04 +02:00
2023-07-31 17:16:05 +02:00
2023-07-25 19:21:04 +02:00
2023-07-25 19:21:04 +02:00
2023-07-25 20:19:05 +02:00
2023-07-25 20:19:05 +02:00
2023-07-25 20:25:52 +02:00
2023-07-25 19:21:04 +02:00
2023-07-25 20:19:05 +02:00
2022-09-22 16:32:25 +02:00
2023-07-25 20:25:52 +02:00
2023-07-25 20:25:52 +02:00
2023-08-04 15:08:30 +02:00
2023-08-04 15:08:30 +02:00
2023-07-25 19:21:04 +02:00
2023-07-25 19:21:04 +02:00
2022-03-03 15:06:31 +01:00
2023-01-19 14:58:19 +01:00
2023-01-19 14:56:44 +01:00
2023-07-25 20:25:52 +02:00
2023-08-20 14:29:37 +02:00
2022-08-30 14:22:35 +02:00
2022-03-03 15:06:31 +01:00
2023-07-25 20:26:07 +02:00
2023-07-25 19:21:04 +02:00
2023-07-03 13:14:58 -07:00
2023-08-11 21:12:46 +02:00
2023-01-16 16:44:53 +01:00
2023-07-25 20:19:05 +02:00
2023-07-25 20:19:05 +02:00
2022-11-03 03:32:40 +01:00
2023-08-03 09:51:46 +02:00
2023-08-04 15:08:30 +02:00
2023-08-04 15:08:09 +02:00
2023-07-25 19:21:04 +02:00
2023-07-25 19:21:04 +02:00
2022-11-03 03:35:41 +01:00
2023-11-28 17:19:57 +00:00
2023-07-25 19:21:04 +02:00
2023-07-25 20:19:05 +02:00
2023-07-25 20:26:06 +02:00
2023-01-19 15:53:09 +01:00
2022-11-03 03:32:40 +01:00
2023-07-25 20:26:07 +02:00
2023-07-25 20:19:05 +02:00
2023-09-01 09:38:00 -07:00
2022-11-03 03:32:40 +01:00
2023-02-08 13:09:55 +01:00
2023-07-25 20:19:05 +02:00
2022-11-03 03:35:42 +01:00
2022-05-19 18:23:19 +02:00
2023-07-25 19:21:04 +02:00
2023-08-09 14:15:28 +02:00
2022-11-03 03:35:42 +01:00
2023-07-25 19:21:04 +02:00
2023-07-25 19:21:04 +02:00
2023-08-04 15:06:24 +02:00
2023-07-25 19:21:04 +02:00
2023-08-22 15:30:00 +02:00
2023-07-25 20:26:07 +02:00
2023-08-11 21:19:22 +02:00
2023-08-11 21:19:22 +02:00
2023-11-08 11:56:24 +01:00
2023-05-31 10:46:59 +01:00
2022-07-28 10:37:42 +02:00
2023-05-31 10:46:59 +01:00
2023-07-25 19:21:04 +02:00
2023-08-22 15:29:18 +02:00
2023-07-31 09:39:56 +02:00
2023-04-20 13:47:33 +02:00
2023-08-22 15:29:10 +02:00
2023-07-30 13:53:55 +02:00
2023-07-30 13:53:19 +02:00
2023-08-22 15:28:51 +02:00
2023-08-22 15:28:51 +02:00
2023-07-25 20:19:05 +02:00
2023-07-25 19:21:04 +02:00
2023-07-25 20:19:05 +02:00
2023-07-25 20:19:05 +02:00
2023-07-25 20:19:05 +02:00
2023-07-25 20:19:05 +02:00
2022-11-03 03:35:43 +01:00
2023-07-25 20:19:05 +02:00
2023-08-04 15:08:55 +02:00
2023-07-25 20:26:06 +02:00
2023-08-04 15:06:01 +02:00
2023-07-25 19:21:04 +02:00