Jason Wessel
40ff16248e
serial: fix lost character after sysrq
...
After creating an automated regression test to test the sysrq
responses while running a linux image in qemu, I found that the
simulated uart was eating the character right after the sysrq about
75% of the time.
The problem is that the qemu sets the LSR_DR (data ready) bit on a
serial break. The automated tests can send a break and the sysrq
character quickly enough that the qemu serial fifo has a real
character available. When there is valid character in the fifo, it
gets consumed by the serial driver in the guest OS.
The real hardware also appears to set the LSR_DR but always appears to
have a null byte in this condition. This patch changes the qemu
behavior to match the tested characteristics of a real 16550 chip.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2009-05-22 10:50:35 -05:00
..
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-14 03:20:43 +04:00
2009-05-14 22:35:09 +01:00
2009-05-21 08:47:55 -05:00
2009-05-13 17:53:17 +00:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-14 22:35:08 +01:00
2009-05-08 02:35:15 +01:00
2009-05-14 22:35:07 +01:00
2009-05-14 22:35:07 +01:00
2009-05-14 22:35:08 +01:00
2009-05-14 22:35:08 +01:00
2009-05-14 22:35:08 +01:00
2009-05-12 12:33:04 +01:00
2009-05-22 10:50:34 -05:00
2009-05-13 20:54:26 +01:00
2009-05-10 01:44:56 +01:00
2009-05-21 20:54:40 -05:00
2009-04-07 18:22:35 +00:00
2009-04-07 18:22:35 +00:00
2009-05-10 01:44:56 +01:00
2009-05-08 16:11:38 -05:00
2009-05-08 16:11:38 -05:00
2009-05-22 10:50:34 -05:00
2009-05-18 22:24:22 +02:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-14 22:35:09 +01:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-21 08:47:55 -05:00
2009-05-14 22:35:07 +01:00
2009-05-10 01:44:56 +01:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-13 20:54:26 +01:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-18 21:44:10 +02:00
2009-05-18 21:34:00 +02:00
2009-05-19 16:17:58 +01:00
2009-05-16 02:13:55 +02:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-18 22:24:22 +02:00
2009-05-22 10:50:34 -05:00
2009-03-28 16:17:50 +00:00
2009-05-10 01:44:56 +01:00
2009-05-22 10:50:33 -05:00
2009-04-01 12:27:59 +00:00
2009-05-22 10:50:34 -05:00
2009-04-21 22:31:41 +00:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-21 08:47:55 -05:00
2009-05-14 03:20:43 +04:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-14 22:35:08 +01:00
2009-05-14 22:35:09 +01:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-21 20:54:40 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-21 15:54:36 +00:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-03 19:03:00 +00:00
2009-05-21 08:47:55 -05:00
2009-05-10 01:44:56 +01:00
2009-05-14 22:35:09 +01:00
2009-05-14 22:35:08 +01:00
2009-04-22 20:20:22 +00:00
2009-05-08 02:35:15 +01:00
2009-05-21 20:54:40 -05:00
2009-05-13 17:53:17 +00:00
2009-05-08 02:35:15 +01:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-19 14:52:42 +01:00
2009-05-13 17:56:25 +01:00
2009-04-17 17:11:08 +00:00
2009-05-14 22:35:08 +01:00
2009-05-10 01:44:56 +01:00
2009-05-22 10:50:34 -05:00
2009-05-10 01:44:56 +01:00
2009-05-14 22:35:07 +01:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-08 02:35:15 +01:00
2009-05-08 02:35:15 +01:00
2009-05-14 22:35:08 +01:00
2009-04-01 12:27:59 +00:00
2009-04-01 12:27:59 +00:00
2009-05-10 01:44:56 +01:00
2009-05-21 08:47:55 -05:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-05-22 10:50:34 -05:00
2009-05-21 08:47:55 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-13 17:56:25 +01:00
2009-05-13 17:53:17 +00:00
2009-03-13 16:27:31 +00:00
2009-05-18 18:26:33 +01:00
2009-05-18 18:26:33 +01:00
2009-05-14 22:35:07 +01:00
2009-05-22 10:50:34 -05:00
2009-05-10 01:44:56 +01:00
2009-05-14 22:35:07 +01:00
2009-05-14 03:20:43 +04:00
2009-05-13 17:53:17 +00:00
2009-05-13 17:53:17 +00:00
2009-05-03 19:03:00 +00:00
2009-05-14 22:35:07 +01:00
2009-05-14 22:35:09 +01:00
2009-05-14 22:35:07 +01:00
2009-05-14 22:35:07 +01:00
2009-05-13 17:53:17 +00:00
2009-05-14 22:35:08 +01:00
2009-05-06 16:18:34 +01:00
2009-05-14 22:35:07 +01:00
2009-05-22 10:50:34 -05:00
2009-05-14 22:35:07 +01:00
2009-05-21 18:54:22 +03:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-04-10 14:29:45 +00:00
2009-05-21 08:47:55 -05:00
2009-05-19 14:52:42 +01:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-04-10 14:29:45 +00:00
2009-05-21 08:47:55 -05:00
2009-05-13 17:53:17 +00:00
2009-05-03 19:03:00 +00:00
2009-05-14 22:35:09 +01:00
2009-05-22 10:50:34 -05:00
2009-03-31 17:18:10 +00:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-04-01 12:27:59 +00:00
2009-05-10 01:44:56 +01:00
2009-05-14 22:35:09 +01:00
2009-05-14 22:35:09 +01:00
2009-05-17 14:55:55 +01:00
2009-05-17 14:55:55 +01:00
2009-05-21 08:47:55 -05:00
2009-05-22 10:50:34 -05:00
2009-05-14 22:35:08 +01:00
2009-05-21 08:47:55 -05:00
2009-05-14 22:35:07 +01:00
2009-05-14 03:20:43 +04:00
2009-05-22 10:50:34 -05:00
2009-05-13 17:53:17 +00:00
2009-05-13 17:53:17 +00:00
2009-05-14 22:35:07 +01:00
2009-05-13 17:53:17 +00:00
2009-05-14 22:35:09 +01:00
2009-05-22 10:50:35 -05:00
2009-05-13 20:54:26 +01:00
2009-05-13 20:54:26 +01:00
2009-05-13 17:53:17 +00:00
2009-05-13 20:54:26 +01:00
2009-05-08 02:35:15 +01:00
2009-05-10 01:44:56 +01:00
2009-05-21 20:54:40 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-13 20:54:26 +01:00
2009-04-17 18:59:56 +00:00
2009-04-17 18:59:56 +00:00
2009-05-14 22:35:08 +01:00
2009-05-14 22:35:08 +01:00
2009-05-14 22:35:08 +01:00
2009-05-14 22:35:07 +01:00
2009-04-10 14:29:45 +00:00
2009-05-22 10:50:34 -05:00
2009-05-21 08:47:55 -05:00
2009-05-14 22:35:08 +01:00
2009-05-14 22:35:09 +01:00
2009-05-14 22:35:09 +01:00
2009-05-14 22:35:09 +01:00
2009-05-14 22:35:09 +01:00
2009-05-14 22:35:07 +01:00
2009-05-21 08:47:55 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-14 22:35:07 +01:00
2009-05-22 10:50:34 -05:00
2009-05-14 23:11:09 +01:00
2009-05-14 23:11:09 +01:00
2009-05-14 23:11:09 +01:00
2009-05-14 23:11:09 +01:00
2009-05-14 23:11:09 +01:00
2009-05-14 23:11:09 +01:00
2009-05-14 23:11:09 +01:00
2009-05-18 18:27:44 +01:00
2009-05-21 08:47:55 -05:00
2009-05-14 23:11:09 +01:00
2009-05-14 22:35:06 +01:00
2009-05-14 22:35:06 +01:00
2009-05-10 01:44:56 +01:00
2009-05-10 01:44:56 +01:00
2009-05-13 20:54:26 +01:00
2009-05-22 10:50:34 -05:00
2009-05-14 22:35:08 +01:00
2009-05-21 08:47:55 -05:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-10 01:44:56 +01:00
2009-05-14 22:35:08 +01:00
2009-05-22 10:50:34 -05:00
2009-05-13 17:53:17 +00:00
2009-05-10 01:44:56 +01:00
2009-04-17 17:11:08 +00:00
2009-05-22 10:50:34 -05:00
2009-05-22 10:50:34 -05:00
2009-05-03 19:03:00 +00:00
2009-05-10 01:44:56 +01:00
2009-05-14 22:35:08 +01:00
2009-05-21 08:47:55 -05:00
2009-05-13 17:56:25 +01:00
2009-05-22 10:50:34 -05:00
2009-05-18 18:26:33 +01:00
2009-05-14 22:35:08 +01:00
2009-05-18 18:26:33 +01:00
2009-05-18 18:26:33 +01:00
2009-05-18 18:26:33 +01:00
2009-05-14 22:35:08 +01:00
2009-05-18 18:26:33 +01:00
2009-05-14 22:35:07 +01:00
2009-05-19 16:17:58 +01:00
2009-05-22 10:50:34 -05:00
2009-05-18 18:26:33 +01:00
2009-05-13 17:56:25 +01:00
2009-05-01 09:44:11 -05:00
2009-05-01 09:44:11 -05:00
2009-05-01 09:44:11 -05:00
2009-05-01 09:44:11 -05:00
2009-05-14 22:35:08 +01:00
2009-05-21 15:54:48 +00:00
2009-04-22 15:19:44 +00:00
2009-04-25 08:00:11 +00:00
2009-04-22 15:19:15 +00:00
2009-04-23 18:42:30 +00:00
2009-04-22 15:19:44 +00:00
2009-04-25 08:00:11 +00:00
2009-04-23 18:29:47 +00:00
2009-04-22 15:19:44 +00:00
2009-05-21 08:47:55 -05:00
2009-04-22 15:19:35 +00:00
2009-04-22 15:19:10 +00:00
2009-04-25 07:31:43 +00:00
2009-05-10 01:44:56 +01:00