aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/mxser_new.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2006-12-08 05:38:18 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-08 11:28:53 -0500
commiteba529ecf76fcea5f82ceaf803b030d5e0ce71f7 (patch)
tree22612f049ff773aef27c2bcba687c97b1c8c0744 /drivers/char/mxser_new.c
parent06cc86b5bd4edcf5e7d68624f7d5c9951916f3d1 (diff)
[PATCH] Char: mxser_new, revert spin_lock changes
Some spinlock changes were introduced in 1.9.1 original moxa driver. Revert them, since they cause machine not responding. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/mxser_new.c')
-rw-r--r--drivers/char/mxser_new.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c
index 4ca97c4401d5..61c5594ac12b 100644
--- a/drivers/char/mxser_new.c
+++ b/drivers/char/mxser_new.c
@@ -1687,22 +1687,12 @@ static void mxser_startrx(struct tty_struct *tty)
1687 */ 1687 */
1688static void mxser_throttle(struct tty_struct *tty) 1688static void mxser_throttle(struct tty_struct *tty)
1689{ 1689{
1690 struct mxser_port *info = tty->driver_data;
1691 unsigned long flags;
1692
1693 spin_lock_irqsave(&info->slock, flags);
1694 mxser_stoprx(tty); 1690 mxser_stoprx(tty);
1695 spin_unlock_irqrestore(&info->slock, flags);
1696} 1691}
1697 1692
1698static void mxser_unthrottle(struct tty_struct *tty) 1693static void mxser_unthrottle(struct tty_struct *tty)
1699{ 1694{
1700 struct mxser_port *info = tty->driver_data;
1701 unsigned long flags;
1702
1703 spin_lock_irqsave(&info->slock, flags);
1704 mxser_startrx(tty); 1695 mxser_startrx(tty);
1705 spin_unlock_irqrestore(&info->slock, flags);
1706} 1696}
1707 1697
1708static void mxser_set_termios(struct tty_struct *tty, struct termios *old_termios) 1698static void mxser_set_termios(struct tty_struct *tty, struct termios *old_termios)
@@ -1930,7 +1920,6 @@ static irqreturn_t mxser_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1930 } 1920 }
1931 /* above add by Victor Yu. 09-13-2002 */ 1921 /* above add by Victor Yu. 09-13-2002 */
1932 1922
1933 spin_lock(&port->slock);
1934 /* following add by Victor Yu. 09-02-2002 */ 1923 /* following add by Victor Yu. 09-02-2002 */
1935 status = inb(port->ioaddr + UART_LSR); 1924 status = inb(port->ioaddr + UART_LSR);
1936 1925
@@ -1981,7 +1970,6 @@ static irqreturn_t mxser_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1981 if (status & UART_LSR_THRE) 1970 if (status & UART_LSR_THRE)
1982 mxser_transmit_chars(port); 1971 mxser_transmit_chars(port);
1983 } 1972 }
1984 spin_unlock(&port->slock);
1985 } while (int_cnt++ < MXSER_ISR_PASS_LIMIT); 1973 } while (int_cnt++ < MXSER_ISR_PASS_LIMIT);
1986 } 1974 }
1987 if (pass_counter++ > MXSER_ISR_PASS_LIMIT) 1975 if (pass_counter++ > MXSER_ISR_PASS_LIMIT)