Mercurial > ecos
changeset 3150: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;
