]> granicus.if.org Git - esp-idf/commitdiff
Fix spinlock bug for uart_set_rts and uart_set_dtr
authorHenrik Maier <hwmaier@gmail.com>
Tue, 30 May 2017 07:05:36 +0000 (17:05 +1000)
committerAngus Gratton <gus@projectgus.com>
Wed, 30 Aug 2017 05:32:23 +0000 (15:32 +1000)
Merges https://github.com/espressif/esp-idf/pull/649

components/driver/uart.c

index 976efda3d02a65efb1ea2f071e5b49d1e0eee806..3997db2b41bdde154166fa03dfb5857a42864acf 100644 (file)
@@ -424,7 +424,7 @@ esp_err_t uart_set_rts(uart_port_t uart_num, int level)
     UART_CHECK((UART[uart_num]->conf1.rx_flow_en != 1), "disable hw flowctrl before using sw control", ESP_FAIL);
     UART_ENTER_CRITICAL(&uart_spinlock[uart_num]);
     UART[uart_num]->conf0.sw_rts = level & 0x1;
-    UART_ENTER_CRITICAL(&uart_spinlock[uart_num]);
+    UART_EXIT_CRITICAL(&uart_spinlock[uart_num]);
     return ESP_OK;
 }
 
@@ -433,7 +433,7 @@ esp_err_t uart_set_dtr(uart_port_t uart_num, int level)
     UART_CHECK((uart_num < UART_NUM_MAX), "uart_num error", ESP_FAIL);
     UART_ENTER_CRITICAL(&uart_spinlock[uart_num]);
     UART[uart_num]->conf0.sw_dtr = level & 0x1;
-    UART_ENTER_CRITICAL(&uart_spinlock[uart_num]);
+    UART_EXIT_CRITICAL(&uart_spinlock[uart_num]);
     return ESP_OK;
 }