Otherwise interrupts whicha are raised during frame processing may
be lost.
---
software/libnet/microudp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/software/libnet/microudp.c b/software/libnet/microudp.c
index 71c45a2..7abbd2a 100644
--- a/software/libnet/microudp.c
+++ b/software/libnet/microudp.c
@@ -391,6 +391,7 @@ void microudp_start(unsigned char *macaddr, unsigned int ip)
void microudp_service()
{
if(irq_pending() & IRQ_ETHRX) {
+ irq_ack(IRQ_ETHRX);
if(CSR_MINIMAC_STATE0 == MINIMAC_STATE_PENDING) {
rxlen = CSR_MINIMAC_COUNT0;
rxbuffer = rxbuffer0;
@@ -403,6 +404,5 @@ void microudp_service()
process_frame();
CSR_MINIMAC_STATE1 = MINIMAC_STATE_LOADED;
}
- irq_ack(IRQ_ETHRX);
}
}
--
1.7.2.3
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode
Twitter: www.twitter.com/milkymistvj
Ideas? http://milkymist.uservoice.com