Mercurial > ecos
changeset 1379:59a0c235fb65
Fix potential infinite loop
| author | gthomas |
|---|---|
| date | Fri, 21 Nov 2003 19:06:45 +0000 |
| parents | 0c616bec0b15 |
| children | 44c872c79d5f |
| files | packages/devs/serial/arm/at91/current/ChangeLog packages/devs/serial/arm/at91/current/src/at91_serial.c |
| diffstat | 2 files changed, 9 insertions(+), 0 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,8 @@ +2003-11-21 Thomas Koeller <thomas.koeller@baslerweb.com> + + * src/at91_serial.c: Fix endless loop that would occur if + high-level driver was not ready to accept data received. + 2003-11-07 Thomas Koeller <thomas.koeller@baslerweb.com> * src/at91_serial.c:
--- a/packages/devs/serial/arm/at91/current/src/at91_serial.c +++ b/packages/devs/serial/arm/at91/current/src/at91_serial.c @@ -64,6 +64,7 @@ #include <cyg/io/serial.h> #include <cyg/infra/diag.h> #include <cyg/infra/cyg_type.h> +#include <cyg/infra/cyg_ass.h> externC void * memcpy( void *, const void *, size_t ); @@ -555,6 +556,9 @@ at91_serial_DSR(cyg_vector_t vector, cyg break; default: // Buffer full or unknown error, can't do anything about it + // Discard data + CYG_FAIL("Serial receiver buffer overflow"); + p = end; break; } }
