From 9788aa5da849f3ee65f83179742e4497c825c894 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 12 Oct 2016 13:29:39 +0200 Subject: [PATCH] hci_transport: remove data source on close --- platform/embedded/hci_transport_h4_ehcill_embedded.c | 7 ++++--- platform/embedded/hci_transport_h4_embedded.c | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/platform/embedded/hci_transport_h4_ehcill_embedded.c b/platform/embedded/hci_transport_h4_ehcill_embedded.c index 1347e5c71..bd60abd6e 100644 --- a/platform/embedded/hci_transport_h4_ehcill_embedded.c +++ b/platform/embedded/hci_transport_h4_ehcill_embedded.c @@ -210,9 +210,10 @@ static int h4_set_baudrate(uint32_t baudrate){ } static int h4_close(void){ - // first remove run loop handler - btstack_run_loop_remove_data_source(&hci_transport_h4_dma_ds); - + // remove data source + btstack_run_loop_disable_data_source_callbacks(&hci_transport_h4_dma_ds, DATA_SOURCE_CALLBACK_POLL); + btstack_run_loop_remove_data_source(&hci_transport_h4_dma_ds); + // stop IRQ hal_uart_dma_set_csr_irq_handler(NULL); diff --git a/platform/embedded/hci_transport_h4_embedded.c b/platform/embedded/hci_transport_h4_embedded.c index 306c8ba13..ea0fa992f 100644 --- a/platform/embedded/hci_transport_h4_embedded.c +++ b/platform/embedded/hci_transport_h4_embedded.c @@ -157,7 +157,9 @@ static int h4_open(void){ } static int h4_close(void){ - // first remove run loop handler + + // remove data source + btstack_run_loop_disable_data_source_callbacks(&hci_transport_h4_dma_ds, DATA_SOURCE_CALLBACK_POLL); btstack_run_loop_remove_data_source(&hci_transport_h4_dma_ds); // close device