浏览代码

Merge pull request #4508 from Guozhanxin/add_error_check

add error checks of rt_mutex_create()
Bernard Xiong 4 年之前
父节点
当前提交
1e4a463f36
共有 3 个文件被更改,包括 14 次插入1 次删除
  1. 5 1
      bsp/simulator/drivers/sd_sim.c
  2. 4 0
      bsp/simulator/drivers/sdl_fb.c
  3. 5 0
      bsp/stm32f20x/Drivers/i2c.c

+ 5 - 1
bsp/simulator/drivers/sd_sim.c

@@ -133,7 +133,6 @@ static rt_err_t rt_sdcard_control(rt_device_t dev, int cmd, void *args)
     return RT_EOK;
 }
 
-
 rt_err_t rt_hw_sdcard_init(const char *spi_device_name)
 {
     int size;
@@ -144,6 +143,11 @@ rt_err_t rt_hw_sdcard_init(const char *spi_device_name)
     device = &(sd->parent);
 
     lock = rt_mutex_create("lock", RT_IPC_FLAG_FIFO);
+    if (lock == RT_NULL) 
+    {
+        LOG_E("Create mutex in rt_hw_sdcard_init failed!");
+        return -RT_ERROR;
+    }
 
     /* open sd card file, if not exist, then create it  */
     sd->file = fopen(SDCARD_SIM, "rb+");

+ 4 - 0
bsp/simulator/drivers/sdl_fb.c

@@ -221,6 +221,10 @@ static void sdlfb_hw_init(void)
     rt_device_register(RT_DEVICE(&_device), "sdl", RT_DEVICE_FLAG_RDWR);
 
     sdllock = rt_mutex_create("fb", RT_IPC_FLAG_FIFO);
+    if (sdllock == RT_NULL) 
+    {
+        LOG_E("Create mutex for sdlfb failed!");
+    }
 }
 
 #ifdef _WIN32

+ 5 - 0
bsp/stm32f20x/Drivers/i2c.c

@@ -572,6 +572,11 @@ void I2C1_INIT()
 
         rt_event_init(&i2c_event, "i2c_event", RT_IPC_FLAG_FIFO );
         i2c_mux = rt_mutex_create("i2c_mux", RT_IPC_FLAG_FIFO );
+        if (i2c_mux == RT_NULL) 
+        {
+            LOG_E("Create mutex for i2c_mux failed!");
+            return;
+        }
         i2c1_init_flag = 1;
     }
 }