[PATCH] ppc32: fix: swallowed chars when booting.
DORMANTno replies
From: Heiko Schocher <hidden>
Date: 2005-11-01 07:22:22
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 <redacted> --- commit d2fcbaa6d5fcb3c1f80c98997dbcf6f6ee075f1b tree d602dae10d2010ca1506c6a02e6a6db36ac86aca parent ed28f96ac1960f30f818374d65be71d2fdf811b0 author Heiko Schocher <hs@pollux.(none)> Mon, 31 Oct 2005 12:11:55 +0100 committer Heiko Schocher <hs@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.cb/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-