lwip: Made changes in emacps adapter to release the semaphore once per ISR

This patch makes changes in the emacps adapter file to ensure that the
semaphore released is once per ISR. This means, once the ISR is invoked
for Rx path, all the available packets in the BDs will be enqueued
before the semaphore is released.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
This commit is contained in:
Anirudha Sarangi 2015-02-09 18:35:57 +05:30 committed by Nava kishore Manne
parent a7679bbd6e
commit f82bf4368e

View file

@ -414,16 +414,15 @@ void emacps_recv_handler(void *arg)
lwip_stats.link.drop++;
#endif
pbuf_free(p);
} else {
#if !NO_SYS
sys_sem_signal(&xemac->sem_rx_data_available);
#endif
}
curbdptr = XEmacPs_BdRingNext( rxring, curbdptr);
}
/* free up the BD's */
XEmacPs_BdRingFree(rxring, bd_processed, rxbdset);
setup_rx_bds(xemacpsif, rxring);
#if !NO_SYS
sys_sem_signal(&xemac->sem_rx_data_available);
#endif
}
#ifdef OS_IS_FREERTOS