X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Feth_at91.c;h=4f19fca14c05f7f67b2e5b0561f99c54ed1f8530;hb=41718ab2098bd5640da265c34f1ecb79a4123d39;hp=5d365b20ae712b720c8a7d43816b300fd0cf52de;hpb=bf9202ba50abb9b9a107d5f3a672699a969dbcbf;p=bertos.git diff --git a/bertos/cpu/arm/drv/eth_at91.c b/bertos/cpu/arm/drv/eth_at91.c index 5d365b20..4f19fca1 100644 --- 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)) -/* - * 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__ /* @@ -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; - 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;