Преглед на файлове

serial: sh-sci: Fix fifo stall on SH7760/SH7780/SH7785 SCIF.

There was an off-by-1 in the SCRFDR calculation that caused writes over
128-bytes to hang in the FIFO. Fix it up.

Signed-off-by: Yutaro Ebihara <ebiharaml@si-linux.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yutaro Ebihara преди 17 години
родител
ревизия
cae167d3d7
променени са 1 файла, в които са добавени 2 реда и са изтрити 2 реда
  1. 2 2
      drivers/serial/sh-sci.c

+ 2 - 2
drivers/serial/sh-sci.c

@@ -414,12 +414,12 @@ static void sci_init_pins_scif(struct uart_port *port, unsigned int cflag)
     defined(CONFIG_CPU_SUBTYPE_SH7785)
     defined(CONFIG_CPU_SUBTYPE_SH7785)
 static inline int scif_txroom(struct uart_port *port)
 static inline int scif_txroom(struct uart_port *port)
 {
 {
-	return SCIF_TXROOM_MAX - (sci_in(port, SCTFDR) & 0x7f);
+	return SCIF_TXROOM_MAX - (sci_in(port, SCTFDR) & 0xff);
 }
 }
 
 
 static inline int scif_rxroom(struct uart_port *port)
 static inline int scif_rxroom(struct uart_port *port)
 {
 {
-	return sci_in(port, SCRFDR) & 0x7f;
+	return sci_in(port, SCRFDR) & 0xff;
 }
 }
 #else
 #else
 static inline int scif_txroom(struct uart_port *port)
 static inline int scif_txroom(struct uart_port *port)