All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Collins <bcollins@debian.org>
To: sparclinux@vger.kernel.org
Subject: Re: 2.6.2-rc1 smp crash
Date: Fri, 23 Jan 2004 15:32:20 +0000	[thread overview]
Message-ID: <20040123153220.GL27566@phunnypharm.org> (raw)
In-Reply-To: <20040123134628.GH27566@phunnypharm.org>

Give the attached patch a try. Seems sunzilog was pulling down some
spinlocks that the serial_core was already doing.

I think there may be one other issue, but I know this patch is atleast
correct.

=== drivers/serial/sunzilog.c 1.39 vs edited ==--- 1.39/drivers/serial/sunzilog.c	Mon Jan  5 14:23:35 2004
+++ edited/drivers/serial/sunzilog.c	Fri Jan 23 11:37:23 2004
@@ -723,36 +723,28 @@
 	}
 }
 
-/* The port lock is not held.  */
+/* The port lock is held.  */
 static void sunzilog_stop_rx(struct uart_port *port)
 {
 	struct uart_sunzilog_port *up = UART_ZILOG(port);
 	struct zilog_channel *channel;
-	unsigned long flags;
 
 	if (ZS_IS_CONS(up))
 		return;
 
-	spin_lock_irqsave(&port->lock, flags);
-
 	channel = ZILOG_CHANNEL_FROM_PORT(port);
 
 	/* Disable all RX interrupts.  */
 	up->curregs[R1] &= ~RxINT_MASK;
 	sunzilog_maybe_update_regs(up, channel);
-
-	spin_unlock_irqrestore(&port->lock, flags);
 }
 
-/* The port lock is not held.  */
+/* The port lock is held.  */
 static void sunzilog_enable_ms(struct uart_port *port)
 {
 	struct uart_sunzilog_port *up = (struct uart_sunzilog_port *) port;
 	struct zilog_channel *channel = ZILOG_CHANNEL_FROM_PORT(port);
 	unsigned char new_reg;
-	unsigned long flags;
-
-	spin_lock_irqsave(&port->lock, flags);
 
 	new_reg = up->curregs[R15] | (DCDIE | SYNCIE | CTSIE);
 	if (new_reg != up->curregs[R15]) {
@@ -761,8 +753,6 @@
 		/* NOTE: Not subject to 'transmitter active' rule.  */ 
 		write_zsreg(channel, R15, up->curregs[R15]);
 	}
-
-	spin_unlock_irqrestore(&port->lock, flags);
 }
 
 /* The port lock is not held.  */

-- 
Debian     - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
WatchGuard - http://www.watchguard.com/

  parent reply	other threads:[~2004-01-23 15:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-23 13:46 2.6.2-rc1 smp crash Ben Collins
2004-01-23 14:34 ` Chris Ricker
2004-01-23 15:19 ` Chris Ricker
2004-01-23 15:32 ` Ben Collins [this message]
2004-01-23 19:49 ` David S. Miller
2004-01-24 14:46 ` Chris Ricker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040123153220.GL27566@phunnypharm.org \
    --to=bcollins@debian.org \
    --cc=sparclinux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.