From 59d5ce0f310fc9bece254f0d05d587e9b1135973 Mon Sep 17 00:00:00 2001 From: rongbaichuan Date: Thu, 24 Sep 2026 18:00:28 +0800 Subject: [PATCH] sched/semaphore: Remove the return value check of nxsem_init/nxmutex_init nxsem_init(), nxsem_destroy(), nxmutex_init() and nxmutex_destroy() always return OK, so checking the result only leaves dead code: the compiler cannot remove it, because these are cross-translation-unit calls and the nxrmutex_destroy() test is duplicated into every inlined call site. Apply the convention already established in commit a47a36bc5b (PR #7473) to the two definitions which still test the value and to the 54 remaining call sites. No signature or prototype is changed. Testing: stm32f103-minimum:nsh builds with -Os without new warnings. Assisted-by: DeepSeek Harness:deepseek-flash Signed-off-by: rongbaichuan --- arch/arm/src/common/ameba/ameba_os_wrap.c | 18 ++---------- arch/arm/src/nrf91/nrf91_modem_os.c | 2 +- arch/arm/src/rtl8720c/amebaz_depend.c | 6 +--- arch/risc-v/src/bl602/bl602_os_hal.c | 18 ++---------- .../src/esp32c3-legacy/esp32c3_ble_adapter.c | 4 +-- .../src/esp32c3-legacy/esp32c3_wifi_adapter.c | 9 +----- arch/risc-v/src/esp32c3/esp_ble_adapter.c | 10 +------ arch/risc-v/src/esp32c3/esp_coex_adapter.c | 9 +----- arch/risc-v/src/esp32c3/esp_wifi_adapter.c | 9 +----- arch/risc-v/src/esp32c6/esp_coex_adapter.c | 9 +----- arch/risc-v/src/esp32c6/esp_wifi_adapter.c | 9 +----- arch/xtensa/src/esp32/esp32_ble_adapter.c | 10 +------ arch/xtensa/src/esp32/esp32_himem_chardev.c | 16 ++--------- arch/xtensa/src/esp32/esp32_wifi_adapter.c | 9 +----- .../xtensa/src/esp32s2/esp32s2_wifi_adapter.c | 9 +----- arch/xtensa/src/esp32s3/esp32s3_ble_adapter.c | 10 +------ .../xtensa/src/esp32s3/esp32s3_wifi_adapter.c | 9 +----- drivers/modem/alt1250/altmdm_event.c | 12 +++----- drivers/mtd/mtd_config_nvs.c | 9 +----- drivers/sensors/l86xxx_uorb.c | 16 ++--------- drivers/sensors/lis2mdl_uorb.c | 16 ++--------- drivers/sensors/lsm6ds3trc_uorb.c | 24 ++-------------- drivers/sensors/lsm6dso32_uorb.c | 24 ++-------------- drivers/sensors/mcp9600_uorb.c | 16 ++--------- drivers/sensors/nau7802.c | 16 ++--------- drivers/sensors/sht4x_uorb.c | 17 ++--------- drivers/usbdev/cdcecm.c | 8 +----- drivers/usbdev/cdcncm.c | 8 +----- drivers/wireless/lpwan/rn2xx3/rn2xx3.c | 8 +----- fs/mnemofs/mnemofs.c | 8 +----- fs/zipfs/zip_vfs.c | 17 ++--------- include/nuttx/mutex.h | 6 +--- libs/libc/misc/lib_mutex.c | 5 ---- libs/libc/semaphore/sem_destroy.c | 12 ++------ libs/libc/semaphore/sem_init.c | 12 ++------ libs/libnx/nxmu/nx_bitmap.c | 7 +---- libs/libnx/nxmu/nx_getrectangle.c | 7 +---- sched/semaphore/sem_rw.c | 28 ++++++------------- 38 files changed, 64 insertions(+), 378 deletions(-) diff --git a/arch/arm/src/common/ameba/ameba_os_wrap.c b/arch/arm/src/common/ameba/ameba_os_wrap.c index f63ea1d3333..cb9a5e414c7 100644 --- a/arch/arm/src/common/ameba/ameba_os_wrap.c +++ b/arch/arm/src/common/ameba/ameba_os_wrap.c @@ -217,7 +217,6 @@ void rtos_mem_free(void *pbuf) struct ameba_qobj_s *ameba_qobj_alloc(uint8_t tag) { struct ameba_qobj_s *obj = kmm_zalloc(sizeof(struct ameba_qobj_s)); - int ret; if (obj == NULL) { @@ -229,11 +228,11 @@ struct ameba_qobj_s *ameba_qobj_alloc(uint8_t tag) switch (tag) { case AMEBA_QOBJ_MUTEX: - ret = nxmutex_init(&obj->u.mutex); + nxmutex_init(&obj->u.mutex); break; case AMEBA_QOBJ_RMUTEX: - ret = nxrmutex_init(&obj->u.rmutex); + nxrmutex_init(&obj->u.rmutex); break; case AMEBA_QOBJ_SEM: @@ -241,16 +240,9 @@ struct ameba_qobj_s *ameba_qobj_alloc(uint8_t tag) /* Caller initialises the semaphore counts via nxsem_init below. */ - ret = OK; break; } - if (ret < 0) - { - kmm_free(obj); - return NULL; - } - return obj; } @@ -386,11 +378,7 @@ int rtos_sema_create(rtos_sema_t *pp_handle, uint32_t init_count, return RTK_FAIL; } - if (nxsem_init(&obj->u.sem, 0, init_count) < 0) - { - kmm_free(obj); - return RTK_FAIL; - } + nxsem_init(&obj->u.sem, 0, init_count); *pp_handle = (rtos_sema_t)obj; return RTK_SUCCESS; diff --git a/arch/arm/src/nrf91/nrf91_modem_os.c b/arch/arm/src/nrf91/nrf91_modem_os.c index cabb4ebe696..64f17b0df87 100644 --- a/arch/arm/src/nrf91/nrf91_modem_os.c +++ b/arch/arm/src/nrf91/nrf91_modem_os.c @@ -437,7 +437,7 @@ int nrf_modem_os_sem_init(void **sem, unsigned int initial_count, UNUSED(limit); DEBUGASSERT(g_nrf91_modem_os.sem_cntr < NRF_MODEM_OS_NUM_SEM_REQUIRED); - ret = nxsem_init(modemsem, 0, initial_count); + nxsem_init(modemsem, 0, initial_count); g_nrf91_modem_os.sem_cntr++; *sem = (void *)modemsem; diff --git a/arch/arm/src/rtl8720c/amebaz_depend.c b/arch/arm/src/rtl8720c/amebaz_depend.c index 674924a5ba2..3c15af3ade4 100644 --- a/arch/arm/src/rtl8720c/amebaz_depend.c +++ b/arch/arm/src/rtl8720c/amebaz_depend.c @@ -172,11 +172,7 @@ void rtw_init_sema(void **sema, int init_val) return; } - if (nxsem_init(_sema, 0, init_val)) - { - free(_sema); - return; - } + nxsem_init(_sema, 0, init_val); *sema = _sema; } diff --git a/arch/risc-v/src/bl602/bl602_os_hal.c b/arch/risc-v/src/bl602/bl602_os_hal.c index 33d3af87c4f..ce768cb3f28 100644 --- a/arch/risc-v/src/bl602/bl602_os_hal.c +++ b/arch/risc-v/src/bl602/bl602_os_hal.c @@ -1276,7 +1276,6 @@ void bl_os_irq_disable(int32_t n) void *bl_os_mutex_create(void) { - int ret; mutex_t *mutex; int tmp; @@ -1288,13 +1287,7 @@ void *bl_os_mutex_create(void) return NULL; } - ret = nxmutex_init(mutex); - if (ret) - { - wlerr("ERROR: Failed to initialize mutex error=%d\n", ret); - kmm_free(mutex); - return NULL; - } + nxmutex_init(mutex); return mutex; } @@ -1394,7 +1387,6 @@ int32_t bl_os_mutex_unlock(void *mutex_data) void *bl_os_sem_create(uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -1406,13 +1398,7 @@ void *bl_os_sem_create(uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("ERROR: Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/risc-v/src/esp32c3-legacy/esp32c3_ble_adapter.c b/arch/risc-v/src/esp32c3-legacy/esp32c3_ble_adapter.c index 2fef2b25e2d..34665360117 100644 --- a/arch/risc-v/src/esp32c3-legacy/esp32c3_ble_adapter.c +++ b/arch/risc-v/src/esp32c3-legacy/esp32c3_ble_adapter.c @@ -775,7 +775,6 @@ static void task_yield_from_isr(void) static void *semphr_create_wrapper(uint32_t max, uint32_t init) { - int ret; struct bt_sem_s *bt_sem; int tmp; @@ -783,8 +782,7 @@ static void *semphr_create_wrapper(uint32_t max, uint32_t init) bt_sem = kmm_malloc(tmp); DEBUGASSERT(bt_sem); - ret = nxsem_init(&bt_sem->sem, 0, init); - DEBUGASSERT(ret == OK); + nxsem_init(&bt_sem->sem, 0, init); #ifdef CONFIG_ESP32C3_SPIFLASH esp32c3_wl_init_semcache(&bt_sem->sc, &bt_sem->sem); diff --git a/arch/risc-v/src/esp32c3-legacy/esp32c3_wifi_adapter.c b/arch/risc-v/src/esp32c3-legacy/esp32c3_wifi_adapter.c index 0f1d1769678..7cb93ea50fb 100644 --- a/arch/risc-v/src/esp32c3-legacy/esp32c3_wifi_adapter.c +++ b/arch/risc-v/src/esp32c3-legacy/esp32c3_wifi_adapter.c @@ -1136,7 +1136,6 @@ static void IRAM_ATTR esp_task_yield_from_isr(void) static void *esp_semphr_create(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -1148,13 +1147,7 @@ static void *esp_semphr_create(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("ERROR: Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/risc-v/src/esp32c3/esp_ble_adapter.c b/arch/risc-v/src/esp32c3/esp_ble_adapter.c index 282b41863b1..a76e7cfed79 100644 --- a/arch/risc-v/src/esp32c3/esp_ble_adapter.c +++ b/arch/risc-v/src/esp32c3/esp_ble_adapter.c @@ -881,7 +881,6 @@ static void IRAM_ATTR task_yield_from_isr(void) static void *semphr_create_wrapper(uint32_t max, uint32_t init) { - int ret; struct bt_sem_s *bt_sem; int tmp; @@ -894,14 +893,7 @@ static void *semphr_create_wrapper(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(&bt_sem->sem, 0, init); - DEBUGASSERT(ret == OK); - if (ret) - { - wlerr("ERROR: Failed to initialize sem error=%d\n", ret); - kmm_free(bt_sem); - return NULL; - } + nxsem_init(&bt_sem->sem, 0, init); #ifdef CONFIG_ESPRESSIF_SPIFLASH esp_init_semcache(&bt_sem->sc, &bt_sem->sem); diff --git a/arch/risc-v/src/esp32c3/esp_coex_adapter.c b/arch/risc-v/src/esp32c3/esp_coex_adapter.c index 52c7a19267f..06723dd7b17 100644 --- a/arch/risc-v/src/esp32c3/esp_coex_adapter.c +++ b/arch/risc-v/src/esp32c3/esp_coex_adapter.c @@ -329,7 +329,6 @@ void IRAM_ATTR esp_coex_common_task_yield_from_isr_wrapper(void) void *esp_coex_common_semphr_create_wrapper(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -341,13 +340,7 @@ void *esp_coex_common_semphr_create_wrapper(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/risc-v/src/esp32c3/esp_wifi_adapter.c b/arch/risc-v/src/esp32c3/esp_wifi_adapter.c index e51504592a8..654efb09a7e 100644 --- a/arch/risc-v/src/esp32c3/esp_wifi_adapter.c +++ b/arch/risc-v/src/esp32c3/esp_wifi_adapter.c @@ -2904,7 +2904,6 @@ static int32_t xqueue_send_adapter(void *queue, void *xsemaphore_create_counting_adapter(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -2916,13 +2915,7 @@ void *xsemaphore_create_counting_adapter(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/risc-v/src/esp32c6/esp_coex_adapter.c b/arch/risc-v/src/esp32c6/esp_coex_adapter.c index 49b7693513d..671aeaa8d41 100644 --- a/arch/risc-v/src/esp32c6/esp_coex_adapter.c +++ b/arch/risc-v/src/esp32c6/esp_coex_adapter.c @@ -326,7 +326,6 @@ void IRAM_ATTR esp_coex_common_task_yield_from_isr_wrapper(void) void *esp_coex_common_semphr_create_wrapper(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -338,13 +337,7 @@ void *esp_coex_common_semphr_create_wrapper(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/risc-v/src/esp32c6/esp_wifi_adapter.c b/arch/risc-v/src/esp32c6/esp_wifi_adapter.c index 77896f311b5..a9475468960 100644 --- a/arch/risc-v/src/esp32c6/esp_wifi_adapter.c +++ b/arch/risc-v/src/esp32c6/esp_wifi_adapter.c @@ -2891,7 +2891,6 @@ static int32_t xqueue_send_adapter(void *queue, void *xsemaphore_create_counting_adapter(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -2903,13 +2902,7 @@ void *xsemaphore_create_counting_adapter(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/xtensa/src/esp32/esp32_ble_adapter.c b/arch/xtensa/src/esp32/esp32_ble_adapter.c index 5cfe57942d9..f7a298a4219 100644 --- a/arch/xtensa/src/esp32/esp32_ble_adapter.c +++ b/arch/xtensa/src/esp32/esp32_ble_adapter.c @@ -978,7 +978,6 @@ static void IRAM_ATTR task_yield_from_isr(void) static void *semphr_create_wrapper(uint32_t max, uint32_t init) { - int ret; struct bt_sem_s *bt_sem; int tmp; @@ -991,14 +990,7 @@ static void *semphr_create_wrapper(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(&bt_sem->sem, 0, init); - DEBUGASSERT(ret == OK); - if (ret) - { - wlerr("ERROR: Failed to initialize sem error=%d\n", ret); - kmm_free(bt_sem); - return NULL; - } + nxsem_init(&bt_sem->sem, 0, init); #ifdef CONFIG_ESPRESSIF_SPIFLASH esp_init_semcache(&bt_sem->sc, &bt_sem->sem); diff --git a/arch/xtensa/src/esp32/esp32_himem_chardev.c b/arch/xtensa/src/esp32/esp32_himem_chardev.c index 447e36a18e1..e73dbddc6c3 100644 --- a/arch/xtensa/src/esp32/esp32_himem_chardev.c +++ b/arch/xtensa/src/esp32/esp32_himem_chardev.c @@ -265,13 +265,7 @@ int himem_chardev_init(void) return ret; } - ret = nxmutex_init(&lock); - if (ret != 0) - { - merr("Failed to init semaphore.\n"); - esp_himem_free_map_range(g_range_handle); - return ret; - } + nxmutex_init(&lock); g_ram_offset = HIMEM_UNMAPPED; g_mapped_inode = NULL; @@ -281,13 +275,7 @@ int himem_chardev_init(void) int himem_chardev_exit(void) { int ret = 0; - ret = nxmutex_destroy(&lock); - if (ret != 0) - { - merr("Failed to destroy semaphore.\n"); - esp_himem_free_map_range(g_range_handle); - return ret; - } + nxmutex_destroy(&lock); ret = esp_himem_free_map_range(g_range_handle); diff --git a/arch/xtensa/src/esp32/esp32_wifi_adapter.c b/arch/xtensa/src/esp32/esp32_wifi_adapter.c index 75edeee95ac..7a25ccc70cb 100644 --- a/arch/xtensa/src/esp32/esp32_wifi_adapter.c +++ b/arch/xtensa/src/esp32/esp32_wifi_adapter.c @@ -670,7 +670,6 @@ static void IRAM_ATTR esp_task_yield_from_isr(void) static void *esp_semphr_create(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -682,13 +681,7 @@ static void *esp_semphr_create(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/xtensa/src/esp32s2/esp32s2_wifi_adapter.c b/arch/xtensa/src/esp32s2/esp32s2_wifi_adapter.c index 9f3ea5c287f..ccb2a2ab992 100644 --- a/arch/xtensa/src/esp32s2/esp32s2_wifi_adapter.c +++ b/arch/xtensa/src/esp32s2/esp32s2_wifi_adapter.c @@ -615,7 +615,6 @@ static void IRAM_ATTR esp_task_yield_from_isr(void) static void *esp_semphr_create(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -627,13 +626,7 @@ static void *esp_semphr_create(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/arch/xtensa/src/esp32s3/esp32s3_ble_adapter.c b/arch/xtensa/src/esp32s3/esp32s3_ble_adapter.c index cf91149530d..4e2408c8a8f 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_ble_adapter.c +++ b/arch/xtensa/src/esp32s3/esp32s3_ble_adapter.c @@ -859,7 +859,6 @@ static void IRAM_ATTR task_yield_from_isr(void) static void *semphr_create_wrapper(uint32_t max, uint32_t init) { - int ret; struct bt_sem_s *bt_sem; int tmp; @@ -872,14 +871,7 @@ static void *semphr_create_wrapper(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(&bt_sem->sem, 0, init); - DEBUGASSERT(ret == OK); - if (ret) - { - wlerr("ERROR: Failed to initialize sem error=%d\n", ret); - kmm_free(bt_sem); - return NULL; - } + nxsem_init(&bt_sem->sem, 0, init); #ifdef CONFIG_ESPRESSIF_SPIFLASH esp_init_semcache(&bt_sem->sc, &bt_sem->sem); diff --git a/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c b/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c index ffd7aad445b..a4845b615a8 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c +++ b/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c @@ -660,7 +660,6 @@ static void IRAM_ATTR esp_task_yield_from_isr(void) static void *esp_semphr_create(uint32_t max, uint32_t init) { - int ret; sem_t *sem; int tmp; @@ -672,13 +671,7 @@ static void *esp_semphr_create(uint32_t max, uint32_t init) return NULL; } - ret = nxsem_init(sem, 0, init); - if (ret) - { - wlerr("Failed to initialize sem error=%d\n", ret); - kmm_free(sem); - return NULL; - } + nxsem_init(sem, 0, init); return sem; } diff --git a/drivers/modem/alt1250/altmdm_event.c b/drivers/modem/alt1250/altmdm_event.c index 65028cf8eef..872b7361d94 100644 --- a/drivers/modem/alt1250/altmdm_event.c +++ b/drivers/modem/alt1250/altmdm_event.c @@ -72,21 +72,17 @@ static int set_expiretime(int expire_time, FAR struct timespec *set_time) int altmdm_event_init(FAR struct altmdm_event_s *evt) { - int ret; - evt->event = 0; - ret = nxsem_init(&evt->sem, 0, 0); + nxsem_init(&evt->sem, 0, 0); - return ret; + return OK; } int altmdm_event_destroy(FAR struct altmdm_event_s *evt) { - int ret; + nxsem_destroy(&evt->sem); - ret = nxsem_destroy(&evt->sem); - - return ret; + return OK; } uint32_t altmdm_event_wait(FAR struct altmdm_event_s *evt, diff --git a/drivers/mtd/mtd_config_nvs.c b/drivers/mtd/mtd_config_nvs.c index 5251c276e52..3e17ec3769c 100644 --- a/drivers/mtd/mtd_config_nvs.c +++ b/drivers/mtd/mtd_config_nvs.c @@ -2475,12 +2475,7 @@ int mtdconfig_register_by_path(FAR struct mtd_dev_s *mtd, /* Initialize the mtdnvs device structure */ fs->mtd = mtd; - rc = nxmutex_init(&fs->nvs_lock); - if (rc < 0) - { - ferr("ERROR: nxmutex_init failed: %d\n", rc); - goto errout; - } + nxmutex_init(&fs->nvs_lock); rc = nvs_startup(fs); if (rc < 0) @@ -2500,8 +2495,6 @@ int mtdconfig_register_by_path(FAR struct mtd_dev_s *mtd, mutex_err: nxmutex_destroy(&fs->nvs_lock); - -errout: kmm_free(fs); return rc; } diff --git a/drivers/sensors/l86xxx_uorb.c b/drivers/sensors/l86xxx_uorb.c index c596fec18d6..d913d2b865c 100644 --- a/drivers/sensors/l86xxx_uorb.c +++ b/drivers/sensors/l86xxx_uorb.c @@ -640,21 +640,11 @@ int l86xxx_register(FAR const char *uartpath, int devno) /* Initialize mutex */ - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - snerr("Failed to initialize mutex for L86-XXX device: %d\n", err); - goto free_mem; - } + nxmutex_init(&priv->devlock); /* Initialize semaphore */ - err = nxsem_init(&priv->run, 0, 0); - if (err < 0) - { - snerr("Failed to register L86-XXX driver: %d\n", err); - goto destroy_mutex; - } + nxsem_init(&priv->run, 0, 0); /* Open UART interface for use */ @@ -732,9 +722,7 @@ close_file: file_close(&priv->uart); destroy_sem: nxsem_destroy(&priv->run); -destroy_mutex: nxmutex_destroy(&priv->devlock); -free_mem: kmm_free(priv); return err; diff --git a/drivers/sensors/lis2mdl_uorb.c b/drivers/sensors/lis2mdl_uorb.c index 49f7a9b0a52..762f23484a1 100644 --- a/drivers/sensors/lis2mdl_uorb.c +++ b/drivers/sensors/lis2mdl_uorb.c @@ -1295,19 +1295,9 @@ int lis2mdl_register(FAR struct i2c_master_s *i2c, int devno, uint8_t addr, priv->i2c = i2c; priv->addr = addr; - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - snerr("Failed to register LIS2MDL driver: %d\n", err); - goto del_mem; - } + nxmutex_init(&priv->devlock); - err = nxsem_init(&priv->run, 0, 0); - if (err < 0) - { - snerr("Failed to register LIS2MDL driver: %d\n", err); - goto del_mutex; - } + nxsem_init(&priv->run, 0, 0); /* Register UORB Sensor */ @@ -1380,9 +1370,7 @@ int lis2mdl_register(FAR struct i2c_master_s *i2c, int devno, uint8_t addr, sensor_unregister(&priv->lower, devno); del_sem: nxsem_destroy(&priv->run); - del_mutex: nxmutex_destroy(&priv->devlock); - del_mem: kmm_free(priv); return err; } diff --git a/drivers/sensors/lsm6ds3trc_uorb.c b/drivers/sensors/lsm6ds3trc_uorb.c index a10c3d2e2b8..c4c0f6c90ac 100644 --- a/drivers/sensors/lsm6ds3trc_uorb.c +++ b/drivers/sensors/lsm6ds3trc_uorb.c @@ -1613,26 +1613,11 @@ int lsm6ds3trc_register(FAR struct i2c_master_s *i2c, uint8_t addr, priv->interrupt_mode = config->attach != NULL; priv->int_pin = config->int_pin; - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - snerr("Failed to initialize mutex: %d\n", err); - goto free_mem; - } + nxmutex_init(&priv->devlock); - err = nxsem_init(&priv->gyro.run, 0, 0); - if (err < 0) - { - snerr("Failed to initialize gyro semaphore: %d\n", err); - goto del_mutex; - } + nxsem_init(&priv->gyro.run, 0, 0); - err = nxsem_init(&priv->accel.run, 0, 0); - if (err < 0) - { - snerr("Failed to initialize accel semaphore: %d\n", err); - goto del_gyro_sem; - } + nxsem_init(&priv->accel.run, 0, 0); /* Create gyro lower half */ @@ -1826,11 +1811,8 @@ unreg_gyro: sensor_unregister(&priv->gyro.lower, devno); del_accel_sem: nxsem_destroy(&priv->accel.run); -del_gyro_sem: nxsem_destroy(&priv->gyro.run); -del_mutex: nxmutex_destroy(&priv->devlock); -free_mem: kmm_free(priv); snerr("ERROR: Failed to register LSM6DS3TR-C driver: %d\n", err); return err; diff --git a/drivers/sensors/lsm6dso32_uorb.c b/drivers/sensors/lsm6dso32_uorb.c index 8d4edc5e514..c766ce7789f 100644 --- a/drivers/sensors/lsm6dso32_uorb.c +++ b/drivers/sensors/lsm6dso32_uorb.c @@ -1882,30 +1882,15 @@ int lsm6dso32_register(FAR struct i2c_master_s *i2c, uint8_t addr, /* Create mutex */ - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - snerr("Failed to initialize mutex: %d\n", err); - goto free_mem; - } + nxmutex_init(&priv->devlock); /* Create gyro semaphore */ - err = nxsem_init(&priv->gyro.run, 0, 0); - if (err < 0) - { - snerr("Failed to initialize gyro semaphore: %d\n", err); - goto del_mutex; - } + nxsem_init(&priv->gyro.run, 0, 0); /* Create accel semaphore */ - err = nxsem_init(&priv->accel.run, 0, 0); - if (err < 0) - { - snerr("Failed to initialize accel semaphore: %d\n", err); - goto del_gyro_sem; - } + nxsem_init(&priv->accel.run, 0, 0); /* Create gyro lower half */ @@ -2047,11 +2032,8 @@ int lsm6dso32_register(FAR struct i2c_master_s *i2c, uint8_t addr, sensor_unregister(&priv->gyro.lower, devno); del_accel_sem: nxsem_destroy(&priv->accel.run); - del_gyro_sem: nxsem_destroy(&priv->gyro.run); - del_mutex: nxmutex_destroy(&priv->devlock); - free_mem: kmm_free(priv); snerr("ERROR: Failed to register LSM6DSO32 driver: %d\n", err); } diff --git a/drivers/sensors/mcp9600_uorb.c b/drivers/sensors/mcp9600_uorb.c index 263649135bf..82af62afa0d 100644 --- a/drivers/sensors/mcp9600_uorb.c +++ b/drivers/sensors/mcp9600_uorb.c @@ -873,22 +873,11 @@ int mcp9600_register(FAR struct i2c_master_s *i2c, uint8_t addr, /* Initialize semaphore */ - err = nxsem_init(&priv->run, 0, 0); - if (err < 0) - { - snerr("Failed to register MCP9600 driver: %d\n", err); - kmm_free(priv); - return err; - } + nxsem_init(&priv->run, 0, 0); /* Initialize mutex */ - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - snerr("ERROR: Failed to register MCP9600 driver: %d\n", err); - goto del_sem; - } + nxmutex_init(&priv->devlock); /* Cold junction lower half */ @@ -950,7 +939,6 @@ int mcp9600_register(FAR struct i2c_master_s *i2c, uint8_t addr, sensor_unregister(&priv->cold_junc.lower, c_devno); del_mutex: nxmutex_destroy(&priv->devlock); - del_sem: nxsem_destroy(&priv->run); kmm_free(priv); return err; diff --git a/drivers/sensors/nau7802.c b/drivers/sensors/nau7802.c index ae084fc90fb..8af4c88015f 100644 --- a/drivers/sensors/nau7802.c +++ b/drivers/sensors/nau7802.c @@ -925,19 +925,9 @@ int nau7802_register(FAR struct i2c_master_s *i2c, int devno, uint8_t addr) return -ENOMEM; } - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - snerr("Failed to register nau7802 driver: %d\n", err); - goto del_mem; - } + nxmutex_init(&priv->devlock); - err = nxsem_init(&priv->run, 0, 0); - if (err < 0) - { - snerr("Failed to register nau7802 driver: %d\n", err); - goto del_mutex; - } + nxsem_init(&priv->run, 0, 0); priv->i2c = i2c; priv->addr = addr; @@ -977,9 +967,7 @@ int nau7802_register(FAR struct i2c_master_s *i2c, int devno, uint8_t addr) sensor_unregister(&priv->lower, devno); del_sem: nxsem_destroy(&priv->run); - del_mutex: nxmutex_destroy(&priv->devlock); - del_mem: kmm_free(priv); return err; } diff --git a/drivers/sensors/sht4x_uorb.c b/drivers/sensors/sht4x_uorb.c index 75d22b216e2..e59592874f1 100644 --- a/drivers/sensors/sht4x_uorb.c +++ b/drivers/sensors/sht4x_uorb.c @@ -849,22 +849,9 @@ int sht4x_register(FAR struct i2c_master_s *i2c, int devno, uint8_t addr) priv->last_heat.tv_sec -= 1; - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - snerr("ERROR: Failed to register SHT4X driver: %d\n", err); - kmm_free(priv); - return err; - } + nxmutex_init(&priv->devlock); - err = nxsem_init(&priv->run, 0, 0); - if (err < 0) - { - snerr("Failed to register SHT4X driver: %d\n", err); - nxmutex_destroy(&priv->devlock); - kmm_free(priv); - return err; - } + nxsem_init(&priv->run, 0, 0); /* Register lower half for humidity */ diff --git a/drivers/usbdev/cdcecm.c b/drivers/usbdev/cdcecm.c index c39f84d4228..35d62dcd27e 100644 --- a/drivers/usbdev/cdcecm.c +++ b/drivers/usbdev/cdcecm.c @@ -1708,13 +1708,7 @@ static int cdcecm_bind(FAR struct usbdevclass_driver_s *driver, /* The single write request just allocated is available now. */ - ret = nxsem_init(&self->wrreq_idle, 0, 1); - - if (ret != OK) - { - uerr("nxsem_init failed. ret: %d\n", ret); - goto error; - } + nxsem_init(&self->wrreq_idle, 0, 1); self->txdone = false; self->dev.d_len = 0; diff --git a/drivers/usbdev/cdcncm.c b/drivers/usbdev/cdcncm.c index c7046c4ca74..7e686a2c2b1 100644 --- a/drivers/usbdev/cdcncm.c +++ b/drivers/usbdev/cdcncm.c @@ -2595,13 +2595,7 @@ static int cdcncm_bind(FAR struct usbdevclass_driver_s *driver, /* The single write request just allocated is available now. */ - ret = nxsem_init(&self->wrreq_idle, 0, 1); - - if (ret != OK) - { - uerr("nxsem_init failed. ret: %d\n", ret); - goto error; - } + nxsem_init(&self->wrreq_idle, 0, 1); self->txdone = false; diff --git a/drivers/wireless/lpwan/rn2xx3/rn2xx3.c b/drivers/wireless/lpwan/rn2xx3/rn2xx3.c index 2d1624d91b1..ebb87bacefb 100644 --- a/drivers/wireless/lpwan/rn2xx3/rn2xx3.c +++ b/drivers/wireless/lpwan/rn2xx3/rn2xx3.c @@ -1874,12 +1874,7 @@ int rn2xx3_register(FAR const char *devpath, FAR const char *uartpath) /* Initialize mutex */ - err = nxmutex_init(&priv->devlock); - if (err < 0) - { - wlerr("Failed to initialize mutex for RN2xx3 device: %d\n", err); - goto free_mem; - } + nxmutex_init(&priv->devlock); /* Open UART interface for use */ @@ -1928,7 +1923,6 @@ int rn2xx3_register(FAR const char *devpath, FAR const char *uartpath) file_close(&priv->uart); destroy_mutex: nxmutex_destroy(&priv->devlock); - free_mem: kmm_free(priv); } diff --git a/fs/mnemofs/mnemofs.c b/fs/mnemofs/mnemofs.c index 5a3065cc2cf..136579b06a3 100644 --- a/fs/mnemofs/mnemofs.c +++ b/fs/mnemofs/mnemofs.c @@ -868,12 +868,7 @@ static int mnemofs_bind(FAR struct inode *driver, FAR const void *data, finfo("sb allocated: %p\n", sb); - ret = nxmutex_init(&sb->lock); - if (ret < 0) - { - ferr("Could not initialize fs mutex\n"); - goto errout_with_sb; - } + nxmutex_init(&sb->lock); ret = mnemofs_lock(sb); if (ret < 0) @@ -1041,7 +1036,6 @@ errout_with_lock: kmm_free(sb->rwbuf); errout_with_mutex: nxmutex_destroy(&sb->lock); -errout_with_sb: kmm_free(sb); return ret; } diff --git a/fs/zipfs/zip_vfs.c b/fs/zipfs/zip_vfs.c index 30ca7f5e387..155e40a96bd 100644 --- a/fs/zipfs/zip_vfs.c +++ b/fs/zipfs/zip_vfs.c @@ -258,11 +258,7 @@ static int zipfs_open(FAR struct file *filep, FAR const char *relpath, return -ENOMEM; } - ret = nxmutex_init(&fp->lock); - if (ret < 0) - { - goto err_with_fp; - } + nxmutex_init(&fp->lock); fp->uf = unzOpen2_64(fs->abspath, &zipfs_real_ops); if (fp->uf == NULL) @@ -295,7 +291,6 @@ err_with_zip: unzClose(fp->uf); err_with_mutex: nxmutex_destroy(&fp->lock); -err_with_fp: fs_heap_free(fp); } @@ -488,7 +483,6 @@ static int zipfs_opendir(FAR struct inode *mountpt, FAR const char *relpath, { FAR struct zipfs_mountpt_s *fs = mountpt->i_private; FAR struct zipfs_dir_s *zdir; - int ret; DEBUGASSERT(fs != NULL); @@ -498,12 +492,7 @@ static int zipfs_opendir(FAR struct inode *mountpt, FAR const char *relpath, return -ENOMEM; } - ret = nxmutex_init(&zdir->lock); - if (ret < 0) - { - fs_heap_free(zdir); - return ret; - } + nxmutex_init(&zdir->lock); zdir->uf = unzOpen2_64(fs->abspath, &zipfs_real_ops); if (zdir->uf == NULL) @@ -515,7 +504,7 @@ static int zipfs_opendir(FAR struct inode *mountpt, FAR const char *relpath, zdir->last = false; *dir = &zdir->base; - return ret; + return OK; } static int zipfs_closedir(FAR struct inode *mountpt, diff --git a/include/nuttx/mutex.h b/include/nuttx/mutex.h index 7cd44d1d290..3784d1715a2 100644 --- a/include/nuttx/mutex.h +++ b/include/nuttx/mutex.h @@ -766,11 +766,7 @@ static inline_function int nxrmutex_destroy(FAR rmutex_t *rmutex) { int ret = nxmutex_destroy(&rmutex->mutex); - if (ret >= 0) - { - rmutex->count = 0; - } - + rmutex->count = 0; return ret; } diff --git a/libs/libc/misc/lib_mutex.c b/libs/libc/misc/lib_mutex.c index 0152f984e48..37e5a06c60d 100644 --- a/libs/libc/misc/lib_mutex.c +++ b/libs/libc/misc/lib_mutex.c @@ -86,11 +86,6 @@ int nxmutex_init(FAR mutex_t *mutex) { int ret = nxsem_init(&mutex->sem, 0, NXSEM_NO_MHOLDER); - if (ret < 0) - { - return ret; - } - #ifdef CONFIG_PRIORITY_INHERITANCE nxsem_set_protocol(&mutex->sem, SEM_TYPE_MUTEX | SEM_PRIO_INHERIT); #else diff --git a/libs/libc/semaphore/sem_destroy.c b/libs/libc/semaphore/sem_destroy.c index a55c1c6889b..6cec5dec2bc 100644 --- a/libs/libc/semaphore/sem_destroy.c +++ b/libs/libc/semaphore/sem_destroy.c @@ -60,8 +60,6 @@ int sem_destroy(FAR sem_t *sem) { - int ret; - /* Assure a valid semaphore is specified */ if (sem == NULL) @@ -70,12 +68,6 @@ int sem_destroy(FAR sem_t *sem) return ERROR; } - ret = nxsem_destroy(sem); - if (ret < 0) - { - set_errno(-ret); - ret = ERROR; - } - - return ret; + nxsem_destroy(sem); + return OK; } diff --git a/libs/libc/semaphore/sem_init.c b/libs/libc/semaphore/sem_init.c index eadd2a73a5d..89d100758d0 100644 --- a/libs/libc/semaphore/sem_init.c +++ b/libs/libc/semaphore/sem_init.c @@ -120,8 +120,6 @@ int nxsem_init(FAR sem_t *sem, int pshared, int32_t value) int sem_init(FAR sem_t *sem, int pshared, unsigned int value) { - int ret; - /* Verify that a semaphore was provided and the count is within the valid * range. */ @@ -132,12 +130,6 @@ int sem_init(FAR sem_t *sem, int pshared, unsigned int value) return ERROR; } - ret = nxsem_init(sem, pshared, value); - if (ret < 0) - { - set_errno(-ret); - ret = ERROR; - } - - return ret; + nxsem_init(sem, pshared, value); + return OK; } diff --git a/libs/libnx/nxmu/nx_bitmap.c b/libs/libnx/nxmu/nx_bitmap.c index d166265189e..d760ce5b9dd 100644 --- a/libs/libnx/nxmu/nx_bitmap.c +++ b/libs/libnx/nxmu/nx_bitmap.c @@ -97,12 +97,7 @@ int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest, outmsg.sem_done = &sem_done; - ret = nxsem_init(&sem_done, 0, 0); - if (ret < 0) - { - gerr("ERROR: nxsem_init failed: %d\n", ret); - return ret; - } + nxsem_init(&sem_done, 0, 0); /* Forward the fill command to the server */ diff --git a/libs/libnx/nxmu/nx_getrectangle.c b/libs/libnx/nxmu/nx_getrectangle.c index 981c6bb01b7..3bc86fb5d9b 100644 --- a/libs/libnx/nxmu/nx_getrectangle.c +++ b/libs/libnx/nxmu/nx_getrectangle.c @@ -92,12 +92,7 @@ int nx_getrectangle(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, outmsg.sem_done = &sem_done; - ret = nxsem_init(&sem_done, 0, 0); - if (ret < 0) - { - gerr("ERROR: nxsem_init failed: %d\n", ret); - return ret; - } + nxsem_init(&sem_done, 0, 0); /* Forward the fill command to the server */ diff --git a/sched/semaphore/sem_rw.c b/sched/semaphore/sem_rw.c index e7fe4d9d678..b8288780ca7 100644 --- a/sched/semaphore/sem_rw.c +++ b/sched/semaphore/sem_rw.c @@ -329,29 +329,17 @@ void downgrade_write(FAR rw_semaphore_t *rwsem) int init_rwsem(FAR rw_semaphore_t *rwsem) { - int ret = OK; - /* Initialize structure information */ - ret = nxmutex_init(&rwsem->protected); - if (ret >= 0) - { - ret = nxsem_init(&rwsem->waiting, 0, 0); - if (ret >= 0) - { - rwsem->reader = 0; - rwsem->writer = 0; - rwsem->waiter = 0; - rwsem->holder = RWSEM_NO_HOLDER; - ret = OK; - } - else - { - nxmutex_destroy(&rwsem->protected); - } - } + nxmutex_init(&rwsem->protected); + nxsem_init(&rwsem->waiting, 0, 0); - return ret; + rwsem->reader = 0; + rwsem->writer = 0; + rwsem->waiter = 0; + rwsem->holder = RWSEM_NO_HOLDER; + + return OK; } /****************************************************************************