summaryrefslogtreecommitdiffstats
path: root/drivers/serial/sunsab.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-06-30 06:49:38 +0200
committerJeff Garzik <jgarzik@pobox.com>2005-06-30 06:49:38 +0200
commite9dd2561793c05d70c9df1bc16a2dde6f23388df (patch)
tree20099972569cc0748133a6351600fff9cbb15f4a /drivers/serial/sunsab.c
parentMerge /spare/repo/netdev-2.6 branch 'ieee80211' (diff)
parentMerge upstream 2.6.13-rc1-git1 into 'ieee80211' branch of netdev-2.6. (diff)
downloadlinux-e9dd2561793c05d70c9df1bc16a2dde6f23388df.tar.xz
linux-e9dd2561793c05d70c9df1bc16a2dde6f23388df.zip
Merge /spare/repo/netdev-2.6 branch 'ieee80211'
Diffstat (limited to 'drivers/serial/sunsab.c')
-rw-r--r--drivers/serial/sunsab.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index 10e2990a40d4..8d198880756a 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -426,18 +426,15 @@ static void sunsab_set_mctrl(struct uart_port *port, unsigned int mctrl)
sunsab_tx_idle(up);
}
-/* port->lock is not held. */
+/* port->lock is held by caller and interrupts are disabled. */
static unsigned int sunsab_get_mctrl(struct uart_port *port)
{
struct uart_sunsab_port *up = (struct uart_sunsab_port *) port;
- unsigned long flags;
unsigned char val;
unsigned int result;
result = 0;
- spin_lock_irqsave(&up->port.lock, flags);
-
val = readb(&up->regs->r.pvr);
result |= (val & up->pvr_dsr_bit) ? 0 : TIOCM_DSR;
@@ -447,8 +444,6 @@ static unsigned int sunsab_get_mctrl(struct uart_port *port)
val = readb(&up->regs->r.star);
result |= (val & SAB82532_STAR_CTS) ? TIOCM_CTS : 0;
- spin_unlock_irqrestore(&up->port.lock, flags);
-
return result;
}