[PATCH] ppc32: fix: swallowed chars when booting.
Heiko Schocher
hs at denx.de
Tue Nov 1 18:22:20 EST 2005
Hello,
Sorry, here comes the resubmit of the Patch because
corruption of whitespaces.
on a MPC8260 based Board, i lost some chars on the SMC2
Console, when booting the kernel. The following Patch
will fix this.
thanks
Heiko Schocher
[PATCH] ppc32: fix: swallowed chars when booting.
In cpm_uart_set_termios(): wait until all chars are transmitted,
before writing the SMC Mode Register.
Signed-off-by: Heiko Schocher <hs at denx.de>
---
commit d2fcbaa6d5fcb3c1f80c98997dbcf6f6ee075f1b
tree d602dae10d2010ca1506c6a02e6a6db36ac86aca
parent ed28f96ac1960f30f818374d65be71d2fdf811b0
author Heiko Schocher <hs at pollux.(none)> Mon, 31 Oct 2005 12:11:55 +0100
committer Heiko Schocher <hs at pollux.(none)> Mon, 31 Oct 2005 12:11:55 +0100
drivers/serial/cpm_uart/cpm_uart_core.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c
b/drivers/serial/cpm_uart/cpm_uart_core.c
index 25825f2..a452c38 100644
--- a/drivers/serial/cpm_uart/cpm_uart_core.c
+++ b/drivers/serial/cpm_uart/cpm_uart_core.c
@@ -553,6 +553,11 @@ static void cpm_uart_set_termios(struct
* present.
*/
prev_mode = smcp->smc_smcmr;
+ /* Wait for all the BDs marked sent */
+ while(!cpm_uart_tx_empty(port)) {
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ schedule_timeout(4);
+ }
smcp->smc_smcmr = smcr_mk_clen(bits) | cval | SMCMR_SM_UART;
smcp->smc_smcmr |= (prev_mode & (SMCMR_REN | SMCMR_TEN));
} else {
!-------------------------------------------------------------flip-
More information about the Linuxppc-dev
mailing list