diff options
| -rw-r--r-- | arch/sh/kernel/early_printk.c | 2 | ||||
| -rw-r--r-- | drivers/serial/sh-sci.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 98a29a782301..a952dcf9999d 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c | |||
| @@ -85,9 +85,9 @@ static void scif_sercon_putc(int c) | |||
| 85 | while (((sci_in(&scif_port, SCFDR) & EPK_FIFO_BITS) >= EPK_FIFO_SIZE)) | 85 | while (((sci_in(&scif_port, SCFDR) & EPK_FIFO_BITS) >= EPK_FIFO_SIZE)) |
| 86 | ; | 86 | ; |
| 87 | 87 | ||
| 88 | sci_out(&scif_port, SCxTDR, c); | ||
| 89 | sci_in(&scif_port, SCxSR); | 88 | sci_in(&scif_port, SCxSR); |
| 90 | sci_out(&scif_port, SCxSR, 0xf3 & ~(0x20 | 0x40)); | 89 | sci_out(&scif_port, SCxSR, 0xf3 & ~(0x20 | 0x40)); |
| 90 | sci_out(&scif_port, SCxTDR, c); | ||
| 91 | 91 | ||
| 92 | while ((sci_in(&scif_port, SCxSR) & 0x40) == 0) | 92 | while ((sci_in(&scif_port, SCxSR) & 0x40) == 0) |
| 93 | ; | 93 | ; |
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 518c0321e4d3..165fc010978c 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c | |||
| @@ -144,9 +144,9 @@ static void put_char(struct uart_port *port, char c) | |||
| 144 | status = sci_in(port, SCxSR); | 144 | status = sci_in(port, SCxSR); |
| 145 | } while (!(status & SCxSR_TDxE(port))); | 145 | } while (!(status & SCxSR_TDxE(port))); |
| 146 | 146 | ||
| 147 | sci_out(port, SCxTDR, c); | ||
| 148 | sci_in(port, SCxSR); /* Dummy read */ | 147 | sci_in(port, SCxSR); /* Dummy read */ |
| 149 | sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port)); | 148 | sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port)); |
| 149 | sci_out(port, SCxTDR, c); | ||
| 150 | 150 | ||
| 151 | spin_unlock_irqrestore(&port->lock, flags); | 151 | spin_unlock_irqrestore(&port->lock, flags); |
| 152 | } | 152 | } |
