aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYutaro Ebihara <ebiharaml@si-linux.com>2008-03-11 13:58:50 +0900
committerPaul Mundt <lethal@linux-sh.org>2008-03-11 13:58:50 +0900
commitcae167d3d7f22a6a54ba47e7c3623b4c45a01e2b (patch)
treea16bde3d820d2821f073df0b8c295ba0b54313ef
parentMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev (diff)
downloadlinux-dev-cae167d3d7f22a6a54ba47e7c3623b4c45a01e2b.tar.xz
linux-dev-cae167d3d7f22a6a54ba47e7c3623b4c45a01e2b.zip
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>
-rw-r--r--drivers/serial/sh-sci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index a8c116b80bff..9d244d1644e1 100644
--- a/drivers/serial/sh-sci.c
+++ b/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)
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)
{
- return sci_in(port, SCRFDR) & 0x7f;
+ return sci_in(port, SCRFDR) & 0xff;
}
#else
static inline int scif_txroom(struct uart_port *port)