Changeset 14896


Ignore:
Timestamp:
08/07/10 00:02:00 (3 years ago)
Author:
BrainSlayer
Message:

smp serial fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/laguna/linux-2.6.31.14/drivers/serial/8250.c

    r14877 r14896  
    17441744        unsigned long flags; 
    17451745 
     1746        spin_lock_irqsave(&up->port.lock, flags); 
    17461747        /* 
    17471748         * Must disable interrupts or else we risk racing with the interrupt 
     
    17611762         * ia64 and parisc boxes. 
    17621763         */ 
    1763         spin_lock_irqsave(&up->port.lock, flags); 
    17641764        lsr = serial_in(up, UART_LSR); 
    17651765        up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; 
    1766         spin_unlock_irqrestore(&up->port.lock, flags); 
    17671766        if ((iir & UART_IIR_NO_INT) && (up->ier & UART_IER_THRI) && 
    17681767            (!uart_circ_empty(&up->port.info->xmit) || up->port.x_char) && 
     
    17721771        } 
    17731772 
     1773        if (is_real_interrupt(up->port.irq)) 
     1774                serial_out(up, UART_IER, ier); 
     1775 
     1776        spin_unlock_irqrestore(&up->port.lock, flags); 
     1777 
    17741778        if (!(iir & UART_IIR_NO_INT)) 
    17751779                serial8250_handle_port(up); 
    1776  
    1777         if (is_real_interrupt(up->port.irq)) 
    1778                 serial_out(up, UART_IER, ier); 
    17791780 
    17801781        /* Standard timer interval plus 0.2s to keep the port running */ 
Note: See TracChangeset for help on using the changeset viewer.