Fix crash issue that occurred when disabling BT during scanning 00/307000/1
authorWootak Jung <wootak.jung@samsung.com>
Wed, 7 Feb 2024 04:48:14 +0000 (13:48 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Sun, 3 Mar 2024 22:58:40 +0000 (07:58 +0900)
All timeout callbacks for scan results should be removed.

0: 0x0000007f9da8bb5c in __bt_hal_send_le_scan_result_event (adv_info=adv_info@entry=0x55a81a9240)
   at /usr/src/debug/bluetooth-frwk-0.7.0-1.aarch64/bt-oal/bluez_hal/src/bt-hal-gatt.c:465 --> bluetooth-frwk-oal (rpm)
1: 0x0000007f9da8bbcc in __bt_hal_adv_scan_req_timeout_cb (user_data=0x55a81a9240, user_data@entry=<error reading variable: value has been optimized out>)
   at /usr/src/debug/bluetooth-frwk-0.7.0-1.aarch64/bt-oal/bluez_hal/src/bt-hal-gatt.c:756 --> bluetooth-frwk-oal (rpm)

Change-Id: Ifc8d42a31f6d70687423abe43335165edea62726
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
bt-oal/bluez_hal/src/bt-hal-gatt.c

index 5f1e9a666a0c9d83c4af268c01f875feef401a26..635300c6bc86bf1c59fd9abbc1a374d487ae060b 100644 (file)
@@ -895,6 +895,9 @@ static bt_status_t gatt_init(const btgatt_callbacks_t* callbacks)
  *******************************************************************************/
 static void gatt_cleanup(void)
 {
+       DBG("If scanning, remove all timeout callbacks for scan results");
+       bt_hal_release_pending_adv_ind_list();
+
        _bt_hal_unregister_gatt_le_dbus_handler_cb();
        _bt_hal_unregister_gatt_client_handler_cb();
        _bt_hal_unregister_gatt_server_handler_cb();