diff --git a/components/driver/gpio.c b/components/driver/gpio.c index 02c9e64f46..d3d07bb4fa 100644 --- a/components/driver/gpio.c +++ b/components/driver/gpio.c @@ -403,7 +403,7 @@ esp_err_t gpio_isr_handler_remove(gpio_num_t gpio_num) esp_err_t gpio_install_isr_service(int intr_alloc_flags) { - GPIO_CHECK(gpio_isr_func == NULL, "GPIO isr service already installed", ESP_FAIL); + GPIO_CHECK(gpio_isr_func == NULL, "GPIO isr service already installed", ESP_ERR_INVALID_STATE); esp_err_t ret; portENTER_CRITICAL(&gpio_spinlock); gpio_isr_func = (gpio_isr_func_t*) calloc(GPIO_NUM_MAX, sizeof(gpio_isr_func_t)); diff --git a/components/driver/include/driver/gpio.h b/components/driver/include/driver/gpio.h index 8246c415ef..04a4aa099c 100644 --- a/components/driver/include/driver/gpio.h +++ b/components/driver/include/driver/gpio.h @@ -389,6 +389,7 @@ esp_err_t gpio_wakeup_disable(gpio_num_t gpio_num); * @return * - ESP_OK Success ; * - ESP_ERR_INVALID_ARG GPIO error + * - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags */ esp_err_t gpio_isr_register(void (*fn)(void*), void * arg, int intr_alloc_flags, gpio_isr_handle_t *handle); @@ -446,8 +447,10 @@ esp_err_t gpio_pulldown_dis(gpio_num_t gpio_num); * * @return * - ESP_OK Success - * - ESP_FAIL Operation fail * - ESP_ERR_NO_MEM No memory to install this service + * - ESP_ERR_INVALID_STATE ISR service already installed. + * - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags + * - ESP_ERR_INVALID_ARG GPIO error */ esp_err_t gpio_install_isr_service(int intr_alloc_flags);