]> err.no Git - linux-2.6/commitdiff
[PATCH] Char: mxser_new, revert spin_lock changes
authorJiri Slaby <jirislaby@gmail.com>
Fri, 8 Dec 2006 10:38:18 +0000 (02:38 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Fri, 8 Dec 2006 16:28:53 +0000 (08:28 -0800)
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>
drivers/char/mxser_new.c

index 4ca97c4401d5e1192ba807b66893b6866ba41786..61c5594ac12b96018df281444f461e70f7fd010b 100644 (file)
@@ -1687,22 +1687,12 @@ static void mxser_startrx(struct tty_struct *tty)
  */
 static void mxser_throttle(struct tty_struct *tty)
 {
-       struct mxser_port *info = tty->driver_data;
-       unsigned long flags;
-
-       spin_lock_irqsave(&info->slock, flags);
        mxser_stoprx(tty);
-       spin_unlock_irqrestore(&info->slock, flags);
 }
 
 static void mxser_unthrottle(struct tty_struct *tty)
 {
-       struct mxser_port *info = tty->driver_data;
-       unsigned long flags;
-
-       spin_lock_irqsave(&info->slock, flags);
        mxser_startrx(tty);
-       spin_unlock_irqrestore(&info->slock, flags);
 }
 
 static 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)
                                }
                                /* above add by Victor Yu. 09-13-2002 */
 
-                               spin_lock(&port->slock);
                                /* following add by Victor Yu. 09-02-2002 */
                                status = inb(port->ioaddr + UART_LSR);
 
@@ -1981,7 +1970,6 @@ static irqreturn_t mxser_interrupt(int irq, void *dev_id, struct pt_regs *regs)
                                        if (status & UART_LSR_THRE)
                                                mxser_transmit_chars(port);
                                }
-                               spin_unlock(&port->slock);
                        } while (int_cnt++ < MXSER_ISR_PASS_LIMIT);
                }
                if (pass_counter++ > MXSER_ISR_PASS_LIMIT)