* Christoph Hellwig <hch@lst.de> [2006-02-24 20:05]:
> This patch was dropped when a real fix went into one of the sun serial
> drivers with which this issue was seen before. Please look through
> the drivers/serial/sun* changelogs and see what fix needs to be
> ported to the ip22zilog driver.
Thanks for the hint, Christoph. Russell, please apply the following
patch for 2.6.16. Tested on IP22 (Indy).
[serial] ip22zilog: Fix oops on runlevel change with serial console
Incorrect uart_write_wakeup() calls cause reference to a NULL tty
pointer. This has been fixed in the sunsab and sunzilog serial drivers
in October 2005. Update the ip22zilog, which is based on sunzilog,
accordingly.
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
--- a/drivers/serial/ip22zilog.c 2006-02-23 22:05:49.000000000 +0000
+++ b/drivers/serial/ip22zilog.c 2006-02-27 09:51:38.000000000 +0000
@@ -420,10 +420,8 @@
if (up->port.info == NULL)
goto ack_tx_int;
xmit = &up->port.info->xmit;
- if (uart_circ_empty(xmit)) {
- uart_write_wakeup(&up->port);
+ if (uart_circ_empty(xmit))
goto ack_tx_int;
- }
if (uart_tx_stopped(&up->port))
goto ack_tx_int;
--
Martin Michlmayr
http://www.cyrius.com/
|