This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] sim: bfin: fix UART LSR read-only bit saturation
- From: Mike Frysinger <vapier at gentoo dot org>
- To: gdb-patches at sourceware dot org
- Cc: toolchain-devel at blackfin dot uclinux dot org
- Date: Mon, 9 May 2011 14:17:22 -0400
- Subject: [PATCH] sim: bfin: fix UART LSR read-only bit saturation
A few bits in the newer UART LSR register are not sticky, so make sure
we clear them when returning updated status rather than leaving them
always set.
Committed.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-05-09 Mike Frysinger <vapier@gentoo.org>
* dv-bfin_uart2.c (bfin_uart_io_read_buffer): Clear DR/THRE/TEMT bits
from uart->lsr before setting them.
---
sim/bfin/dv-bfin_uart2.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/sim/bfin/dv-bfin_uart2.c b/sim/bfin/dv-bfin_uart2.c
index facde1c..179574d 100644
--- a/sim/bfin/dv-bfin_uart2.c
+++ b/sim/bfin/dv-bfin_uart2.c
@@ -151,6 +151,7 @@ bfin_uart_io_read_buffer (struct hw *me, void *dest,
bfin_uart_reschedule (me);
break;
case mmr_offset(lsr):
+ uart->lsr &= ~(DR | THRE | TEMT);
uart->lsr |= bfin_uart_get_status (me);
case mmr_offset(thr):
case mmr_offset(msr):
--
1.7.5.rc3