Quellcode durchsuchen

driver(GPIO): fixed gpio_wake_up_disable not working for RTC IO (release/4.0)

houwenxiang vor 5 Jahren
Ursprung
Commit
9eb7eceeec
1 geänderte Dateien mit 7 neuen und 2 gelöschten Zeilen
  1. 7 2
      components/driver/gpio.c

+ 7 - 2
components/driver/gpio.c

@@ -490,8 +490,13 @@ esp_err_t gpio_wakeup_enable(gpio_num_t gpio_num, gpio_int_type_t intr_type)
 esp_err_t gpio_wakeup_disable(gpio_num_t gpio_num)
 {
     GPIO_CHECK(GPIO_IS_VALID_GPIO(gpio_num), "GPIO number error", ESP_ERR_INVALID_ARG);
-    GPIO.pin[gpio_num].wakeup_enable = 0;
-    return ESP_OK;
+    esp_err_t ret = ESP_OK;
+    if (RTC_GPIO_IS_VALID_GPIO(gpio_num)) {
+        ret = rtc_gpio_wakeup_disable(gpio_num);
+    } else {
+        GPIO.pin[gpio_num].wakeup_enable = 0;
+    }
+    return ret;
 }
 
 esp_err_t gpio_set_drive_capability(gpio_num_t gpio_num, gpio_drive_cap_t strength)