changeset 3227:328e85803252

* src/ser_16x5x.c (serial_config_port): Clear potential Overrun Error condition at init by always reading RHR.
author jlarmour
date Mon, 02 Apr 2012 22:18:58 +0000
parents 3d06557fc66c
children e1cec8d66444
files packages/devs/serial/generic/16x5x/current/ChangeLog packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/serial/generic/16x5x/current/ChangeLog
+++ b/packages/devs/serial/generic/16x5x/current/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-07  Bernard Fouché <bernard.fouche@kuantic.com>
+
+	* src/ser_16x5x.c (serial_config_port): Clear potential Overrun Error
+	condition at init by always reading RHR.
+
 2009-02-17  Rene Schipp von Branitz Nielsen <rbn@vitesse.com>
 
 	* src/ser_16x5x.c:
--- a/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c
+++ b/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c
@@ -8,7 +8,7 @@
 // ####ECOSGPLCOPYRIGHTBEGIN####                                            
 // -------------------------------------------                              
 // This file is part of eCos, the Embedded Configurable Operating System.   
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2012 Free Software Foundation, Inc.
 //
 // eCos is free software; you can redistribute it and/or modify it under    
 // the terms of the GNU General Public License as published by the Free     
@@ -332,6 +332,8 @@ serial_config_port(serial_channel *chan,
               CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE;
             // Enable and clear FIFO
             HAL_WRITE_UINT8(base+REG_fcr, _fcr_thresh); 
+            // Read RHR to clear potential Overrun Error
+            HAL_READ_UINT8(base+REG_rhr, b);
         }
         else {
             ser_chan->tx_fifo_size = 1;