Signed-off-by: James Nelson <[EMAIL PROTECTED]>

diff -urN --exclude='*~' 
linux-2.6.11-rc1-mm1-original/drivers/char/serial_tx3912.c 
linux-2.6.11-rc1-mm1/drivers/char/serial_tx3912.c
--- linux-2.6.11-rc1-mm1-original/drivers/char/serial_tx3912.c  2004-12-24 
16:34:57.000000000 -0500
+++ linux-2.6.11-rc1-mm1/drivers/char/serial_tx3912.c   2005-01-16 
07:32:19.514527630 -0500
@@ -222,7 +222,7 @@
        unsigned long flags;
        unsigned long ints;
 
-       save_and_cli(flags);
+       local_irq_save(flags);
 
        port = (struct rs_port *)dev_id;
        rs_dprintk (TX3912_UART_DEBUG_INTERRUPTS, "rs_interrupt (port %p, shift 
%d)...", port, intshift);
@@ -241,10 +241,8 @@
                 INTTYPE(UART_PARITYERR_INT) |
                 INTTYPE(UART_RX_INT)) << intshift);
 
-       if (!port || !port->gs.tty) {
-               restore_flags(flags);
-               return;
-       }
+       if (!port || !port->gs.tty) 
+               goto out;
 
        /* RX Receiver Holding Register Overrun */
        if (ints & INTTYPE(UART_RXOVERRUN_INT)) {
@@ -275,7 +273,7 @@
                receive_char_pio(port);
        }
 
-       restore_flags(flags);
+out:   local_irq_restore(flags);
 
        rs_dprintk (TX3912_UART_DEBUG_INTERRUPTS, "end.\n");
 }
@@ -288,7 +286,7 @@
        unsigned long flags;
        unsigned long ints;
 
-       save_and_cli(flags);
+       local_irq_save(flags);
 
        port = (struct rs_port *)dev_id;
        rs_dprintk (TX3912_UART_DEBUG_INTERRUPTS, "rs_interrupt (port %p, shift 
%d)...", port, intshift);
@@ -296,10 +294,8 @@
        /* Get the interrrupts we have enabled */
        int2status = IntStatus2 & IntEnable2;
 
-       if (!port || !port->gs.tty) {
-               restore_flags(flags);
-               return;
-       }
+       if (!port || !port->gs.tty)
+               goto out;
 
        /* Get interrupts in easy to use form */
        ints = int2status >> intshift;
@@ -324,7 +320,7 @@
        check_modem_status();
        */
 
-       restore_flags(flags);
+out:   local_irq_restore(flags);
 
        rs_dprintk (TX3912_UART_DEBUG_INTERRUPTS, "end.\n");
 }
@@ -352,7 +348,7 @@
        struct rs_port *port = ptr; 
        unsigned long flags;
 
-       save_and_cli(flags);
+       local_irq_save(flags);
         port->gs.flags &= ~GS_TX_INTEN;
 
        IntEnable2 &= ~((INTTYPE(UART_TX_INT) |
@@ -363,7 +359,7 @@
                        INTTYPE(UART_EMPTY_INT) |
                        INTTYPE(UART_TXOVERRUN_INT)) << port->intshift;
 
-       restore_flags(flags);
+       local_irq_restore(flags);
 }
 
 static void rs_enable_tx_interrupts (void * ptr) 
@@ -371,7 +367,7 @@
        struct rs_port *port = ptr; 
        unsigned long flags;
 
-       save_and_cli(flags);
+       local_irq_save(flags);
 
        IntClear2 = (INTTYPE(UART_TX_INT) |
                        INTTYPE(UART_EMPTY_INT) |
@@ -384,7 +380,7 @@
        /* Send a char to start TX interrupts happening */
        transmit_char_pio(port);
 
-       restore_flags(flags);
+       local_irq_restore(flags);
 }
 
 static void rs_disable_rx_interrupts (void * ptr) 
@@ -392,7 +388,7 @@
        struct rs_port *port = ptr;
        unsigned long flags;
 
-       save_and_cli(flags);
+       local_irq_save(flags);
 
        IntEnable2 &= ~((INTTYPE(UART_RX_INT) |
                         INTTYPE(UART_RXOVERRUN_INT) |
@@ -406,7 +402,7 @@
                         INTTYPE(UART_BREAK_INT) |
                         INTTYPE(UART_PARITYERR_INT)) << port->intshift;
 
-       restore_flags(flags);
+       local_irq_restore(flags);
 }
 
 static void rs_enable_rx_interrupts (void * ptr) 
@@ -414,7 +410,7 @@
        struct rs_port *port = ptr;
        unsigned long flags;
 
-       save_and_cli(flags);
+       local_irq_save(flags);
 
        IntEnable2 |= (INTTYPE(UART_RX_INT) |
                         INTTYPE(UART_RXOVERRUN_INT) |
@@ -433,7 +429,7 @@
                         INTTYPE(UART_BREAK_INT) |
                         INTTYPE(UART_PARITYERR_INT)) << port->intshift;
 
-       restore_flags(flags);
+       local_irq_restore(flags);
 }
 
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to