Messages in this thread Patch in this message | | | Date | Mon, 03 Oct 2005 16:56:16 -0700 (PDT) | Subject | Re: PROBLEM: 2.6.13 crash on sparc64 in sunsu_kbd_ms_interrupt | From | "David S. Miller" <> |
| |
From: "David S. Miller" <davem@davemloft.net> Date: Mon, 03 Oct 2005 16:50:46 -0700 (PDT)
> Please turn off CONFIG_PREEMPT on sparc64, it really doesn't > get very much testing on this platform.
Nevermind, there is a real bug there in the sunsu driver. We drop/retake the lock when it's not actually held.
The preempt debugging was good at catching this. :-)
Please try this fix, thanks.
diff-tree 62ba86fc7c72edc77a67e04b6fb593db5046cc92 (from baaf9033270c9cb10c1441195bc1a0a7665bee7e) Author: David S. Miller <davem@sunset.davemloft.net> Date: Mon Oct 3 16:55:10 2005 -0700
[SUNSU]: Fix bogus locking in sunsu_change_mouse_baud() The lock is not held when calling this function, so we shouldn't drop then reacquire it. Based upon a report from Jim MacBaine. Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c @@ -518,11 +518,7 @@ static void sunsu_change_mouse_baud(stru quot = up->port.uartclk / (16 * new_baud); - spin_unlock(&up->port.lock); - sunsu_change_speed(&up->port, up->cflag, 0, quot); - - spin_lock(&up->port.lock); } static void receive_kbd_ms_chars(struct uart_sunsu_port *up, struct pt_regs *regs, int is_break) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |