post_receive still needs to timeout if it can't find any free

bufferes.
This commit is contained in:
Mariano Alvira 2010-03-08 12:29:49 -05:00
parent 2a07cbe665
commit 571861c6ea

View file

@ -122,6 +122,11 @@ void post_receive(void) {
dma_rx = get_free_packet();
if (dma_rx == 0) {
printf("trying to fill MACA_DMARX but out of packet buffers\n\r");
/* set the sftclock so that we return to the maca_isr */
*MACA_SFTCLK = *MACA_CLK + RECV_SOFTIMEOUT; /* soft timeout */
*MACA_TMREN = (1 << maca_tmren_sft);
/* no free buffers, so don't start a reception */
enable_irq(MACA);
return;
}
}