From f9be3c80e3631ebfc1ecc3e1f1d2df21277c0608 Mon Sep 17 00:00:00 2001 From: guozhanxin Date: Wed, 24 Mar 2021 09:31:59 +0800 Subject: [PATCH] add error checks of rt_mutex_create() --- bsp/simulator/drivers/sd_sim.c | 6 +++++- bsp/simulator/drivers/sdl_fb.c | 4 ++++ bsp/stm32f20x/Drivers/i2c.c | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/bsp/simulator/drivers/sd_sim.c b/bsp/simulator/drivers/sd_sim.c index 41c495403a..adc489be20 100755 --- a/bsp/simulator/drivers/sd_sim.c +++ b/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+"); diff --git a/bsp/simulator/drivers/sdl_fb.c b/bsp/simulator/drivers/sdl_fb.c index 986c3139de..7b25da9c3c 100755 --- a/bsp/simulator/drivers/sdl_fb.c +++ b/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 diff --git a/bsp/stm32f20x/Drivers/i2c.c b/bsp/stm32f20x/Drivers/i2c.c index e1b4b02ffa..27e9ce0280 100644 --- a/bsp/stm32f20x/Drivers/i2c.c +++ b/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; } }