lkml.org 
[lkml]   [2005]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
SubjectRe: PROBLEM: 2.6.13 crash on sparc64 in sunsu_kbd_ms_interrupt
From
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/
\
 
 \ /
  Last update: 2005-10-04 01:58    [W:0.037 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site