This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
Remove CYG_FAIL from AT91 serial driver
- From: Jim Seymour <ecosjim at cipher dot com>
- To: ecos-patches at ecos dot sourceware dot org
- Date: Fri, 01 Jun 2007 11:04:03 -0700
- Subject: Remove CYG_FAIL from AT91 serial driver
This patch does two things:
(.../packages/devs/serial/arm/at91/current/src/at91_serial.c)
1) It eliminates a CYG_FAIL call when the serial receiver fills up.
2) It eliminates a compiler warning when setting the "end" variable
--
Jim Seymour, Cipher Systems, Inc., 503-617-7447, http://www.cipher.com
Index: at91_serial.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/serial/arm/at91/current/src/at91_serial.c,v
retrieving revision 1.13
diff -b -u -r1.13 at91_serial.c
--- at91_serial.c 13 Mar 2006 07:46:37 -0000 1.13
+++ at91_serial.c 1 Jun 2007 17:59:51 -0000
@@ -571,10 +571,12 @@
if (stat & (AT91_US_IER_ENDRX | AT91_US_IER_TIMEOUT)) {
const cyg_uint8 cb = at91_chan->curbuf, nb = cb ^ 0x01;
const cyg_uint8 * p = at91_chan->rcv_buffer[cb], * end;
+ cyg_uint32 temp_word;
at91_chan->curbuf = nb;
HAL_WRITE_UINT32(base + AT91_US_RCR, 0);
- HAL_READ_UINT32(base + AT91_US_RPR, (CYG_ADDRESS) end);
+ HAL_READ_UINT32(base + AT91_US_RPR, temp_word);
+ end = (const cyg_uint8 *)temp_word;
HAL_WRITE_UINT32(base + AT91_US_RTO, RCV_TIMEOUT);
HAL_WRITE_UINT32(base + AT91_US_CR, AT91_US_CR_RSTATUS | AT91_US_CR_STTTO);
HAL_WRITE_UINT32(base + AT91_US_RPR, (CYG_ADDRESS) at91_chan->rcv_buffer[nb]);
@@ -609,7 +611,6 @@
default:
// Buffer full or unknown error, can't do anything about it
// Discard data
- CYG_FAIL("Serial receiver buffer overflow");
p = end;
break;
}