diff options
author | Carlos Sanchez <csanchez@windy.az.mvista.com> | 2005-10-30 18:02:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 20:37:25 -0500 |
commit | f7232056bff5fe2d3bfeab35252a66ebaeb5bbde (patch) | |
tree | a3dd4fd813ca169e9364a1d751c6236c3d2715c4 | |
parent | 6ea05db06f32adac65b4c4e95ef998839149de12 (diff) |
[PATCH] Added a Receive_Abort to the Marvell serial driver
Added a Receive_Abort to the Marvell serial driver
Fix occasional input overrun errors on Marvell serial driver
- If the Marvell serial driver is repeatedly started and then stopped it
will occasionally report an input overrun error when started.
- Added a Receive_Abort to the Marvell serial driver to abort previously
received receive errors when re-starting the receive
Acked-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Carlos Sanchez <csanchez@mvista.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/serial/mpsc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c index efe79b1fd431..aec83f577ce6 100644 --- a/drivers/serial/mpsc.c +++ b/drivers/serial/mpsc.c | |||
@@ -1100,6 +1100,8 @@ mpsc_start_rx(struct mpsc_port_info *pi) | |||
1100 | { | 1100 | { |
1101 | pr_debug("mpsc_start_rx[%d]: Starting...\n", pi->port.line); | 1101 | pr_debug("mpsc_start_rx[%d]: Starting...\n", pi->port.line); |
1102 | 1102 | ||
1103 | /* Issue a Receive Abort to clear any receive errors */ | ||
1104 | writel(MPSC_CHR_2_RA, pi->mpsc_base + MPSC_CHR_2); | ||
1103 | if (pi->rcv_data) { | 1105 | if (pi->rcv_data) { |
1104 | mpsc_enter_hunt(pi); | 1106 | mpsc_enter_hunt(pi); |
1105 | mpsc_sdma_cmd(pi, SDMA_SDCM_ERD); | 1107 | mpsc_sdma_cmd(pi, SDMA_SDCM_ERD); |