Mercurial > nand-ecoscentric
changeset 2393:5377ec428842
* src/at91_serial.c (at91_serial_DSR): Remove CYG_FAIL if receive
buffer fills up; eliminate compiler warning when setting "end"
pointer.
| author | asl |
|---|---|
| date | Sat, 02 Jun 2007 17:20:02 +0000 |
| parents | b9bdcb70cbde |
| children | a21e68455afd |
| files | packages/devs/serial/arm/at91/current/ChangeLog packages/devs/serial/arm/at91/current/src/at91_serial.c |
| diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/devs/serial/arm/at91/current/ChangeLog +++ b/packages/devs/serial/arm/at91/current/ChangeLog @@ -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
--- a/packages/devs/serial/arm/at91/current/src/at91_serial.c +++ b/packages/devs/serial/arm/at91/current/src/at91_serial.c @@ -571,10 +571,12 @@ at91_serial_DSR(cyg_vector_t vector, cyg 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 @@ at91_serial_DSR(cyg_vector_t vector, cyg default: // Buffer full or unknown error, can't do anything about it // Discard data - CYG_FAIL("Serial receiver buffer overflow"); p = end; break; }
