Clear le scan resources when it's stopped by kernel 48/241948/1 accepted/tizen/unified/20200826.133056 submit/tizen/20200825.072855
authorDeokhyun Kim <dukan.kim@samsung.com>
Fri, 24 Jul 2020 05:06:43 +0000 (14:06 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Fri, 21 Aug 2020 04:40:39 +0000 (13:40 +0900)
Change-Id: I76412a0d5c1fa924027c5e96cd0f812bfbb556a6
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
src/adapter.c

index b3a0cdc..6dcf288 100644 (file)
@@ -2436,7 +2436,13 @@ static void discovering_callback(uint16_t index, uint16_t length,
                if (ev->discovering == FALSE) {
                        hci_clear_bit(BDADDR_LE_PUBLIC, &adapter->discovery_type);
                        hci_clear_bit(BDADDR_LE_RANDOM, &adapter->discovery_type);
-                       adapter->le_discovering = false;
+
+                       if (adapter->le_discovering == true) {
+                               struct watch_client *client;
+                               client = adapter->le_discovery_list->data;
+                               g_dbus_remove_watch(dbus_conn, client->watch);
+                               adapter->le_discovering = false;
+                       }
                } else {
                        hci_set_bit(BDADDR_LE_PUBLIC, &adapter->discovery_type);
                        hci_set_bit(BDADDR_LE_RANDOM, &adapter->discovery_type);