summaryrefslogtreecommitdiff
path: root/bsp/CME_M7
diff options
context:
space:
mode:
authorXinrong Han <[email protected]>2021-01-04 17:08:56 +0800
committerXinrong Han <[email protected]>2021-01-04 17:08:56 +0800
commit3f1407827d9a0826b3db499c08aaa1189bb7f1e4 (patch)
tree93a5f4014faa2761f774101e6575c4f698fe24ff /bsp/CME_M7
parent0f9d1ac2824cdffb1feb7a73a8962d856139ca68 (diff)
add error checks of rt_mutex_take()
Diffstat (limited to 'bsp/CME_M7')
-rw-r--r--bsp/CME_M7/drivers/emac.c13
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)