]> granicus.if.org Git - esp-idf/commitdiff
Merge branch 'bugfix/btdm_fix_adv_pending_in_smp' into 'master'
authorJiang Jiang Jian <jack@espressif.com>
Thu, 1 Feb 2018 12:17:02 +0000 (20:17 +0800)
committerJiang Jiang Jian <jack@espressif.com>
Thu, 1 Feb 2018 12:17:02 +0000 (20:17 +0800)
Component/bt: fix stop adv failed in smp

See merge request idf/esp-idf!1881

components/bt/bluedroid/stack/btm/btm_ble_gap.c

index 5fa57bd783cd3c8c812e69dd1ee49ae44ed1b6a0..833a4d77a2824f52a20d441ab2336bcbb64d1b2b 100644 (file)
@@ -3598,6 +3598,14 @@ void btm_ble_write_adv_enable_complete(UINT8 *p)
     } else if (p_cb->p_stop_adv_cb && p_cb->adv_mode == BTM_BLE_ADV_DISABLE) {
         p_cb->state = BTM_BLE_STOP_ADV;
         (*p_cb->p_stop_adv_cb)(status);
+    }else {
+        // p_cb->p_adv_cb is NULL or p_cb->p_stop_adv_cb is NULL
+        if (p_cb->adv_mode == BTM_BLE_ADV_ENABLE) {
+            p_cb->state = BTM_BLE_ADVERTISING;
+        }else {
+            p_cb->state = BTM_BLE_STOP_ADV;
+        }
+        p_cb->adv_callback_twice = FALSE;
     }
     /* if write adv enable/disbale not succeed */
     if (*p != HCI_SUCCESS) {