diff options
| author | Xinrong Han <[email protected]> | 2021-01-04 17:08:56 +0800 |
|---|---|---|
| committer | Xinrong Han <[email protected]> | 2021-01-04 17:08:56 +0800 |
| commit | 3f1407827d9a0826b3db499c08aaa1189bb7f1e4 (patch) | |
| tree | 93a5f4014faa2761f774101e6575c4f698fe24ff /bsp/CME_M7 | |
| parent | 0f9d1ac2824cdffb1feb7a73a8962d856139ca68 (diff) | |
add error checks of rt_mutex_take()
Diffstat (limited to 'bsp/CME_M7')
| -rw-r--r-- | bsp/CME_M7/drivers/emac.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bsp/CME_M7/drivers/emac.c b/bsp/CME_M7/drivers/emac.c index 5f732a8c51..2a262aa526 100644 --- a/bsp/CME_M7/drivers/emac.c +++ b/bsp/CME_M7/drivers/emac.c @@ -312,8 +312,19 @@ struct pbuf *rt_cme_eth_rx(rt_device_t dev) ETH_RX_DESC *desc; uint32_t framelength; struct rt_cme_eth * cme_eth = (struct rt_cme_eth *)dev; + rt_err_t result; - rt_mutex_take(&cme_eth->lock, RT_WAITING_FOREVER); + result = rt_mutex_take(&cme_eth->lock, RT_WAITING_FOREVER); + if (result == -RT_ETIMEOUT) + { + rt_kprintf("Take mutex time out.\n"); + goto _exit; + } + else if (result == -RT_ERROR) + { + rt_kprintf("Take mutex error.\n"); + goto _exit; + } desc = ETH_AcquireFreeRxDesc(); if(desc == RT_NULL) |
