Hi,

The panic in tty_wakeup panic on shutdown, triggered on sparc32 with pristine kernels, is not present in Debian kernels. It turns out that the following patch (which I was not aware of) has been used in Debian for a while now to take care of that problem:

---------------------------cut here--------------------------------
--- kernel-source-2.6.11-2.6.11-orig/drivers/serial/serial_core.c       
2005-03-02 08:37:50.000000000 +0100
+++ kernel-source-2.6.11-2.6.11/drivers/serial/serial_core.c    2005-03-05 
10:46:43.417109240 +0100
@@ -108,7 +108,8 @@
 static void uart_tasklet_action(unsigned long data)
 {
        struct uart_state *state = (struct uart_state *)data;
-       tty_wakeup(state->info->tty);
+       if (state->info->tty)
+               tty_wakeup(state->info->tty);
 }

 static inline void
---------------------------cut here--------------------------------

As I understand it, the cause of the problem is a race condition, with state->info->tty being destroyed somewhere between scheduling of the tasklet and its execution. This patch is not a proper solution, as it does not eliminate the source of the race, but hopefully it can provide the insight needed to fix the problem.

Best regards,

Jurij Smakov                                        [EMAIL PROTECTED]
Key: http://www.wooyd.org/pgpkey/                   KeyID: C99E03CC
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to