This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Remove CYG_FAIL from AT91 serial driver


Hi Jim

Attached is the patch which got committed.

         Andrew
Index: devs/serial/arm/at91/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/serial/arm/at91/current/ChangeLog,v
retrieving revision 1.15
diff -u -r1.15 ChangeLog
--- devs/serial/arm/at91/current/ChangeLog	13 Mar 2006 07:46:36 -0000	1.15
+++ devs/serial/arm/at91/current/ChangeLog	2 Jun 2007 17:19:36 -0000
@@ -1,3 +1,9 @@
+2007-06-01  Jim Seymour <jim@cipher.com>
+
+	* src/at91_serial.c (at91_serial_DSR): Remove CYG_FAIL if receive
+	buffer fills up; eliminate compiler warning when setting "end"
+	pointer.
+
 2006-03-05  Oliver Munz  <munz@speag.ch>
 
 	* src/at91_serial.c (at91_serial_ISR): Only call the DSR if there
Index: devs/serial/arm/at91/current/src/at91_serial.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/serial/arm/at91/current/src/at91_serial.c,v
retrieving revision 1.13
diff -u -r1.13 at91_serial.c
--- devs/serial/arm/at91/current/src/at91_serial.c	13 Mar 2006 07:46:37 -0000	1.13
+++ devs/serial/arm/at91/current/src/at91_serial.c	2 Jun 2007 17:19:37 -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;
             }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]