diff options
Diffstat (limited to 'drivers/serial/sh-sci.c')
-rw-r--r-- | drivers/serial/sh-sci.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 8e2feb563347..32dc2fc50e6b 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c | |||
@@ -272,7 +272,8 @@ static inline void sci_init_pins(struct uart_port *port, unsigned int cflag) | |||
272 | __raw_writew(data, PSCR); | 272 | __raw_writew(data, PSCR); |
273 | } | 273 | } |
274 | } | 274 | } |
275 | #elif defined(CONFIG_CPU_SUBTYPE_SH7763) || \ | 275 | #elif defined(CONFIG_CPU_SUBTYPE_SH7757) || \ |
276 | defined(CONFIG_CPU_SUBTYPE_SH7763) || \ | ||
276 | defined(CONFIG_CPU_SUBTYPE_SH7780) || \ | 277 | defined(CONFIG_CPU_SUBTYPE_SH7780) || \ |
277 | defined(CONFIG_CPU_SUBTYPE_SH7785) || \ | 278 | defined(CONFIG_CPU_SUBTYPE_SH7785) || \ |
278 | defined(CONFIG_CPU_SUBTYPE_SH7786) || \ | 279 | defined(CONFIG_CPU_SUBTYPE_SH7786) || \ |
@@ -662,10 +663,11 @@ static irqreturn_t sci_rx_interrupt(int irq, void *port) | |||
662 | static irqreturn_t sci_tx_interrupt(int irq, void *ptr) | 663 | static irqreturn_t sci_tx_interrupt(int irq, void *ptr) |
663 | { | 664 | { |
664 | struct uart_port *port = ptr; | 665 | struct uart_port *port = ptr; |
666 | unsigned long flags; | ||
665 | 667 | ||
666 | spin_lock_irq(&port->lock); | 668 | spin_lock_irqsave(&port->lock, flags); |
667 | sci_transmit_chars(port); | 669 | sci_transmit_chars(port); |
668 | spin_unlock_irq(&port->lock); | 670 | spin_unlock_irqrestore(&port->lock, flags); |
669 | 671 | ||
670 | return IRQ_HANDLED; | 672 | return IRQ_HANDLED; |
671 | } | 673 | } |