Explorar el Código

Fix UART deinit issues in multiple apps

Also thanks to Willy-JL for finding the issue and fixing part of the apps
MX hace 1 año
padre
commit
71661ad4d8
Se han modificado 1 ficheros con 4 adiciones y 3 borrados
  1. 4 3
      wifi_marauder_uart.c

+ 4 - 3
wifi_marauder_uart.c

@@ -166,12 +166,13 @@ WifiMarauderUart* wifi_marauder_usart_init(WifiMarauderApp* app) {
 void wifi_marauder_uart_free(WifiMarauderUart* uart) {
 void wifi_marauder_uart_free(WifiMarauderUart* uart) {
     furi_assert(uart);
     furi_assert(uart);
 
 
+    furi_hal_serial_async_rx_stop(uart->serial_handle);
+    furi_hal_serial_deinit(uart->serial_handle);
+    furi_hal_serial_control_release(uart->serial_handle);
+
     furi_thread_flags_set(furi_thread_get_id(uart->rx_thread), WorkerEvtStop);
     furi_thread_flags_set(furi_thread_get_id(uart->rx_thread), WorkerEvtStop);
     furi_thread_join(uart->rx_thread);
     furi_thread_join(uart->rx_thread);
     furi_thread_free(uart->rx_thread);
     furi_thread_free(uart->rx_thread);
 
 
-    furi_hal_serial_deinit(uart->serial_handle);
-    furi_hal_serial_control_release(uart->serial_handle);
-
     free(uart);
     free(uart);
 }
 }