]> git.baikalelectronics.ru Git - kernel.git/commit
serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 13 Nov 2008 08:46:06 +0000 (17:46 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 13 Nov 2008 08:46:06 +0000 (17:46 +0900)
commit5cd20fbe60100027c67fd7e2f683ab2ca7bd2af2
tree2937aa90cd6c972b13f0173f60e76c186111ffaf
parent579cf598afa90dd343f7a5255c65f4880ccd337c
serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.

Under qemu there is a race between the TDxE read-and-clear and the SCxTDR
write. While on hardware it can be gauranteed that the read-and-clear
will happen prior to the character being written out, no such assumption
can be made under emulation. As this path happens with IRQs off and the
hardware itself doesn't care about the ordering, move the SCxTDR write
until after the read-and-clear.

Signed-off-by: Vladimir Prus <vladimir@codesourcery.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/early_printk.c
drivers/serial/sh-sci.c