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:
parent
a7679bbd6e
commit
f82bf4368e
1 changed files with 3 additions and 4 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue