Update stm32_eth.c
Fix some exception handling,such as when rt_sem_take failed in tx,transmission cannot be resumed。
This commit is contained in:
parent
794835dde2
commit
0779b5e901
|
@ -3206,7 +3206,12 @@ rt_err_t rt_stm32_eth_tx( rt_device_t dev, struct pbuf* p)
|
|||
{
|
||||
rt_err_t result;
|
||||
result = rt_sem_take(&tx_buf_free, 2);
|
||||
if (result != RT_EOK) return -RT_ERROR;
|
||||
if (result != RT_EOK)
|
||||
{
|
||||
ETH_FlushTransmitFIFO(); // clear fifo
|
||||
ETH_ResumeDMATransmission(); // resume dma
|
||||
return -RT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
offset = 0;
|
||||
|
|
Loading…
Reference in New Issue