projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reformar get name funtion. Add test.
[bertos.git]
/
bertos
/
cpu
/
arm
/
drv
/
eth_at91.c
diff --git
a/bertos/cpu/arm/drv/eth_at91.c
b/bertos/cpu/arm/drv/eth_at91.c
index 5d365b20ae712b720c8a7d43816b300fd0cf52de..4f19fca14c05f7f67b2e5b0561f99c54ed1f8530 100644
(file)
--- a/
bertos/cpu/arm/drv/eth_at91.c
+++ b/
bertos/cpu/arm/drv/eth_at91.c
@@
-67,13
+67,6
@@
#define EMAC_RX_INTS (BV(EMAC_RCOMP) | BV(EMAC_ROVR) | BV(EMAC_RXUBR))
#define EMAC_TX_INTS (BV(EMAC_TCOMP) | BV(EMAC_TXUBR) | BV(EMAC_RLEX))
#define EMAC_RX_INTS (BV(EMAC_RCOMP) | BV(EMAC_ROVR) | BV(EMAC_RXUBR))
#define EMAC_TX_INTS (BV(EMAC_TCOMP) | BV(EMAC_TXUBR) | BV(EMAC_RLEX))
-/*
- * MAC address configuration (please change this in your project!).
- *
- * TODO: make this paramater user-configurable from the Wizard.
- */
-const uint8_t mac_addr[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 };
-
/* Silent Doxygen bug... */
#ifndef __doxygen__
/*
/* Silent Doxygen bug... */
#ifndef __doxygen__
/*
@@
-425,7
+418,11
@@
ssize_t eth_getFrame(uint8_t *buf, size_t len)
rd_len += EMAC_RX_BUFSIZ;
else
rd_len += len - rd_len;
rd_len += EMAC_RX_BUFSIZ;
else
rd_len += len - rd_len;
- ASSERT(rx_buf_tab[rx_buf_idx].addr & RXBUF_OWNERSHIP);
+ if (UNLIKELY(!(rx_buf_tab[rx_buf_idx].addr & RXBUF_OWNERSHIP)))
+ {
+ LOG_INFO("bad frame found\n");
+ return 0;
+ }
rx_buf_tab[rx_buf_idx].addr &= ~RXBUF_OWNERSHIP;
if (++rx_buf_idx >= EMAC_RX_DESCRIPTORS)
rx_buf_idx = 0;
rx_buf_tab[rx_buf_idx].addr &= ~RXBUF_OWNERSHIP;
if (++rx_buf_idx >= EMAC_RX_DESCRIPTORS)
rx_buf_idx = 0;