Ignore return value of btsnd_hcic_* functions

btsnd_hcic_* functions return only true. This patch makes sure that no
logic is waiting for "false" value.
Few methods, that had their return value dependent on result of
btsnd_hcic_* were made void.

Test: unit tests pass
Change-Id: I43cff62f461ff35f4bd84e5338f1a587b6a05c58
diff --git a/system/stack/btm/btm_acl.c b/system/stack/btm/btm_acl.c
index 5d2c214..8351abf 100644
--- a/system/stack/btm/btm_acl.c
+++ b/system/stack/btm/btm_acl.c
@@ -683,19 +683,15 @@
             /* bypass turning off encryption if change link key is already doing it */
             if (p->encrypt_state != BTM_ACL_ENCRYPT_STATE_ENCRYPT_OFF)
             {
-                if (!btsnd_hcic_set_conn_encrypt (p->hci_handle, false))
-                    return(BTM_NO_RESOURCES);
-                else
-                    p->encrypt_state = BTM_ACL_ENCRYPT_STATE_ENCRYPT_OFF;
+                btsnd_hcic_set_conn_encrypt (p->hci_handle, false);
+                p->encrypt_state = BTM_ACL_ENCRYPT_STATE_ENCRYPT_OFF;
             }
 
             p->switch_role_state = BTM_ACL_SWKEY_STATE_ENCRYPTION_OFF;
         }
         else
         {
-            if (!btsnd_hcic_switch_role (remote_bd_addr, new_role))
-                return(BTM_NO_RESOURCES);
-
+            btsnd_hcic_switch_role (remote_bd_addr, new_role);
             p->switch_role_state = BTM_ACL_SWKEY_STATE_IN_PROGRESS;
 
 #if (BTM_DISC_DURING_RS == TRUE)
@@ -761,18 +757,10 @@
             p->encrypt_state = BTM_ACL_ENCRYPT_STATE_TEMP_FUNC;
         }
 
-        if (!btsnd_hcic_switch_role (p->remote_addr, (uint8_t)!p->link_role))
-        {
-            p->switch_role_state = BTM_ACL_SWKEY_STATE_IDLE;
-            p->encrypt_state = BTM_ACL_ENCRYPT_STATE_IDLE;
-            btm_acl_report_role_change(btm_cb.devcb.switch_role_ref_data.hci_status, p->remote_addr);
-        }
+        btsnd_hcic_switch_role(p->remote_addr, (uint8_t)!p->link_role);
 #if (BTM_DISC_DURING_RS == TRUE)
-        else
-        {
-            if ((p_dev_rec = btm_find_dev (p->remote_addr)) != NULL)
-                p_dev_rec->rs_disc_pending = BTM_SEC_RS_PENDING;
-        }
+        if ((p_dev_rec = btm_find_dev (p->remote_addr)) != NULL)
+            p_dev_rec->rs_disc_pending = BTM_SEC_RS_PENDING;
 #endif
 
     }
@@ -1315,10 +1303,8 @@
         /* Only send if current role is Master; 2.0 spec requires this */
         if (p->link_role == BTM_ROLE_MASTER)
         {
-            if (!btsnd_hcic_write_link_super_tout (LOCAL_BR_EDR_CONTROLLER_ID,
-                                                   p->hci_handle, timeout))
-                return(BTM_NO_RESOURCES);
-
+            btsnd_hcic_write_link_super_tout(LOCAL_BR_EDR_CONTROLLER_ID,
+                                             p->hci_handle, timeout);
             return(BTM_CMD_STARTED);
         }
         else
@@ -1503,12 +1489,10 @@
     /* if idle, we did not change encryption */
     if (p->switch_role_state == BTM_ACL_SWKEY_STATE_SWITCHING)
     {
-        if (btsnd_hcic_set_conn_encrypt (p->hci_handle, true))
-        {
-            p->encrypt_state = BTM_ACL_ENCRYPT_STATE_ENCRYPT_ON;
-            p->switch_role_state = BTM_ACL_SWKEY_STATE_ENCRYPTION_ON;
-            return;
-        }
+        btsnd_hcic_set_conn_encrypt (p->hci_handle, true);
+        p->encrypt_state = BTM_ACL_ENCRYPT_STATE_ENCRYPT_ON;
+        p->switch_role_state = BTM_ACL_SWKEY_STATE_ENCRYPTION_ON;
+        return;
     }
 
     /* Set the switch_role_state to IDLE since the reply received from HCI */
@@ -1658,11 +1642,7 @@
 
     BTM_TRACE_DEBUG ("SetPacketType Mask -> 0x%04x", temp_pkt_types);
 
-    if (!btsnd_hcic_change_conn_type (p->hci_handle, temp_pkt_types))
-    {
-        return(BTM_NO_RESOURCES);
-    }
-
+    btsnd_hcic_change_conn_type (p->hci_handle, temp_pkt_types);
     p->pkt_types_mask = temp_pkt_types;
 
     return(BTM_CMD_STARTED);
@@ -1894,16 +1874,10 @@
                            btm_qos_setup_timeout, NULL,
                            btu_general_alarm_queue);
 
-        if (!btsnd_hcic_qos_setup (p->hci_handle, p_flow->qos_flags, p_flow->service_type,
+        btsnd_hcic_qos_setup(p->hci_handle, p_flow->qos_flags, p_flow->service_type,
                                    p_flow->token_rate, p_flow->peak_bandwidth,
-                                   p_flow->latency,p_flow->delay_variation))
-        {
-            btm_cb.devcb.p_qos_setup_cmpl_cb = NULL;
-            alarm_cancel(btm_cb.devcb.qos_setup_timer);
-            return(BTM_NO_RESOURCES);
-        }
-        else
-            return(BTM_CMD_STARTED);
+                                   p_flow->latency,p_flow->delay_variation);
+        return(BTM_CMD_STARTED);
     }
 
     /* If here, no BD Addr found */
@@ -2008,14 +1982,8 @@
                            BTM_DEV_REPLY_TIMEOUT_MS, btm_read_rssi_timeout,
                            NULL, btu_general_alarm_queue);
 
-        if (!btsnd_hcic_read_rssi (p->hci_handle))
-        {
-            btm_cb.devcb.p_rssi_cmpl_cb = NULL;
-            alarm_cancel(btm_cb.devcb.read_rssi_timer);
-            return(BTM_NO_RESOURCES);
-        }
-        else
-            return(BTM_CMD_STARTED);
+        btsnd_hcic_read_rssi (p->hci_handle);
+        return(BTM_CMD_STARTED);
     }
 
     /* If here, no BD Addr found */
@@ -2054,14 +2022,8 @@
                            btm_read_link_quality_timeout, NULL,
                            btu_general_alarm_queue);
 
-        if (!btsnd_hcic_get_link_quality (p->hci_handle))
-        {
-            btm_cb.devcb.p_link_qual_cmpl_cb = NULL;
-            alarm_cancel(btm_cb.devcb.read_link_quality_timer);
-            return(BTM_NO_RESOURCES);
-        }
-        else
-            return(BTM_CMD_STARTED);
+        btsnd_hcic_get_link_quality(p->hci_handle);
+        return(BTM_CMD_STARTED);
     }
 
     /* If here, no BD Addr found */
@@ -2380,8 +2342,7 @@
         if (hci_handle != 0xFFFF && p_dev_rec &&
              p_dev_rec->sec_state!= BTM_SEC_STATE_DISCONNECTING)
         {
-            if (!btsnd_hcic_disconnect (hci_handle, HCI_ERR_PEER_USER))
-                status = BTM_NO_RESOURCES;
+            btsnd_hcic_disconnect(hci_handle, HCI_ERR_PEER_USER);
         }
         else
             status = BTM_UNKNOWN_ADDR;
@@ -2435,18 +2396,10 @@
         if (p_dev_rec != NULL && ((p_dev_rec->sec_flags & BTM_SEC_ENCRYPTED) != 0)
             && !BTM_EPR_AVAILABLE(p))
         {
-            if (btsnd_hcic_set_conn_encrypt (p->hci_handle, false))
-            {
-                p->encrypt_state = BTM_ACL_ENCRYPT_STATE_ENCRYPT_OFF;
-                if (p->switch_role_state == BTM_ACL_SWKEY_STATE_MODE_CHANGE)
-                    p->switch_role_state = BTM_ACL_SWKEY_STATE_ENCRYPTION_OFF;
-            }
-            else
-            {
-                /* Error occurred; set states back to Idle */
-                if (p->switch_role_state == BTM_ACL_SWKEY_STATE_MODE_CHANGE)
-                    sw_ok = false;
-            }
+            btsnd_hcic_set_conn_encrypt(p->hci_handle, false);
+            p->encrypt_state = BTM_ACL_ENCRYPT_STATE_ENCRYPT_OFF;
+            if (p->switch_role_state == BTM_ACL_SWKEY_STATE_MODE_CHANGE)
+                p->switch_role_state = BTM_ACL_SWKEY_STATE_ENCRYPTION_OFF;
         }
         else    /* Encryption not used or EPR supported, continue with switch
                    and/or change of link key */
diff --git a/system/stack/btm/btm_ble.c b/system/stack/btm/btm_ble.c
index 7b709fc..7561e7d 100644
--- a/system/stack/btm/btm_ble.c
+++ b/system/stack/btm/btm_ble.c
@@ -747,10 +747,7 @@
 {
      btm_cb.devcb.p_le_test_cmd_cmpl_cb = p_cmd_cmpl_cback;
 
-     if (btsnd_hcic_ble_receiver_test(rx_freq) == false)
-     {
-          BTM_TRACE_ERROR("%s: Unable to Trigger LE receiver test", __func__);
-     }
+     btsnd_hcic_ble_receiver_test(rx_freq);
 }
 
 /*******************************************************************************
@@ -769,10 +766,7 @@
                                  uint8_t packet_payload, tBTM_CMPL_CB *p_cmd_cmpl_cback)
 {
      btm_cb.devcb.p_le_test_cmd_cmpl_cb = p_cmd_cmpl_cback;
-     if (btsnd_hcic_ble_transmitter_test(tx_freq, test_data_len, packet_payload) == false)
-     {
-          BTM_TRACE_ERROR("%s: Unable to Trigger LE transmitter test", __func__);
-     }
+     btsnd_hcic_ble_transmitter_test(tx_freq, test_data_len, packet_payload);
 }
 
 /*******************************************************************************
@@ -788,10 +782,7 @@
 {
      btm_cb.devcb.p_le_test_cmd_cmpl_cb = p_cmd_cmpl_cback;
 
-     if (btsnd_hcic_ble_test_end() == false)
-     {
-          BTM_TRACE_ERROR("%s: Unable to End the LE TX/RX test", __func__);
-     }
+     btsnd_hcic_ble_test_end();
 }
 
 /*******************************************************************************
@@ -1564,7 +1555,6 @@
     tBTM_CB *p_cb = &btm_cb;
     tBTM_SEC_DEV_REC    *p_rec = btm_find_dev (bda);
     BT_OCTET8    dummy_rand = {0};
-    tBTM_STATUS  rt = BTM_NO_RESOURCES;
 
     BTM_TRACE_DEBUG ("btm_ble_start_encrypt");
 
@@ -1584,26 +1574,23 @@
 
     if (use_stk)
     {
-        if (btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, dummy_rand, 0, stk))
-            rt = BTM_CMD_STARTED;
+        btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, dummy_rand, 0, stk);
     }
     else if (p_rec->ble.key_type & BTM_LE_KEY_PENC)
     {
-        if (btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, p_rec->ble.keys.rand,
-                                     p_rec->ble.keys.ediv, p_rec->ble.keys.pltk))
-            rt = BTM_CMD_STARTED;
+        btsnd_hcic_ble_start_enc(p_rec->ble_hci_handle, p_rec->ble.keys.rand,
+                                 p_rec->ble.keys.ediv, p_rec->ble.keys.pltk);
     }
     else
     {
         BTM_TRACE_ERROR("No key available to encrypt the link");
-    }
-    if (rt == BTM_CMD_STARTED)
-    {
-        if (p_rec->sec_state == BTM_SEC_STATE_IDLE)
-            p_rec->sec_state = BTM_SEC_STATE_ENCRYPTING;
+        return BTM_NO_RESOURCES;
     }
 
-    return rt;
+    if (p_rec->sec_state == BTM_SEC_STATE_IDLE)
+        p_rec->sec_state = BTM_SEC_STATE_ENCRYPTING;
+
+    return BTM_CMD_STARTED;
 }
 
 /*******************************************************************************
@@ -2508,11 +2495,7 @@
     {
         memcpy(&btm_cb.devcb.ble_encryption_key_value[0], p->param_buf, BT_OCTET8_LEN);
 
-        if (!btsnd_hcic_ble_rand((void *)btm_ble_process_er2))
-        {
-            memset(&btm_cb.devcb.ble_encryption_key_value, 0, sizeof(BT_OCTET16));
-            BTM_TRACE_ERROR("Generating ER2 failed.");
-        }
+        btsnd_hcic_ble_rand((void *)btm_ble_process_er2);
     }
     else
     {
@@ -2552,10 +2535,7 @@
     }
 
     /* proceed generate ER */
-    if (!btsnd_hcic_ble_rand((void *)btm_ble_process_er))
-    {
-        BTM_TRACE_ERROR("Generating ER failed.");
-    }
+    btsnd_hcic_ble_rand((void *)btm_ble_process_er);
 }
 
 /*******************************************************************************
@@ -2660,11 +2640,7 @@
         /* remembering in control block */
         memcpy(btm_cb.devcb.id_keys.ir, p->param_buf, BT_OCTET8_LEN);
 
-        if (!btsnd_hcic_ble_rand((void *)btm_ble_process_ir2))
-        {
-            BTM_TRACE_ERROR("Generating IR2 failed.");
-            memset(&btm_cb.devcb.id_keys, 0, sizeof(tBTM_BLE_LOCAL_ID_KEYS));
-        }
+        btsnd_hcic_ble_rand((void *)btm_ble_process_ir2);
     }
 }
 
@@ -2682,10 +2658,7 @@
     BTM_TRACE_DEBUG ("btm_ble_reset_id");
 
     /* regenrate Identity Root*/
-    if (!btsnd_hcic_ble_rand((void *)btm_ble_process_ir))
-    {
-        BTM_TRACE_DEBUG("Generating IR failed.");
-    }
+    btsnd_hcic_ble_rand((void *)btm_ble_process_ir);
 }
 
     #if BTM_BLE_CONFORMANCE_TESTING == true
diff --git a/system/stack/btm/btm_ble_addr.c b/system/stack/btm/btm_ble_addr.c
index c43d4e9..c7a4bde 100644
--- a/system/stack/btm/btm_ble_addr.c
+++ b/system/stack/btm/btm_ble_addr.c
@@ -193,11 +193,7 @@
 
     p_mgnt_cb->p_generate_cback = p_cback;
     p_mgnt_cb->p                = p;
-    if (!btsnd_hcic_ble_rand((void *)btm_gen_non_resolve_paddr_cmpl))
-    {
-        btm_gen_non_resolve_paddr_cmpl(NULL);
-    }
-
+    btsnd_hcic_ble_rand((void *)btm_gen_non_resolve_paddr_cmpl);
 }
 
 #if (SMP_INCLUDED == TRUE)
diff --git a/system/stack/btm/btm_ble_bgconn.cc b/system/stack/btm/btm_ble_bgconn.cc
index 1d03a13..1f198b2 100644
--- a/system/stack/btm/btm_ble_bgconn.cc
+++ b/system/stack/btm/btm_ble_bgconn.cc
@@ -381,27 +381,19 @@
             }
 #endif
 
-            if (!btsnd_hcic_ble_create_ll_conn (scan_int,  /* uint16_t scan_int      */
-                                                scan_win,    /* uint16_t scan_win      */
-                                                0x01,                   /* uint8_t white_list     */
-                                                peer_addr_type,        /* uint8_t addr_type_peer */
-                                                dummy_bda,              /* BD_ADDR bda_peer     */
-                                                own_addr_type,          /* uint8_t addr_type_own */
-                                                BTM_BLE_CONN_INT_MIN_DEF,   /* uint16_t conn_int_min  */
-                                                BTM_BLE_CONN_INT_MAX_DEF,   /* uint16_t conn_int_max  */
-                                                BTM_BLE_CONN_SLAVE_LATENCY_DEF,  /* uint16_t conn_latency  */
-                                                BTM_BLE_CONN_TIMEOUT_DEF,        /* uint16_t conn_timeout  */
-                                                0,                       /* uint16_t min_len       */
-                                                0))                      /* uint16_t max_len       */
-            {
-                /* start auto connection failed */
-                exec =  false;
-                p_cb->wl_state &= ~BTM_BLE_WL_INIT;
-            }
-            else
-            {
-                btm_ble_set_conn_st (BLE_BG_CONN);
-            }
+            btsnd_hcic_ble_create_ll_conn(scan_int,  /* uint16_t scan_int      */
+                                          scan_win,    /* uint16_t scan_win      */
+                                          0x01,                   /* uint8_t white_list     */
+                                          peer_addr_type,        /* uint8_t addr_type_peer */
+                                          dummy_bda,              /* BD_ADDR bda_peer     */
+                                          own_addr_type,          /* uint8_t addr_type_own */
+                                          BTM_BLE_CONN_INT_MIN_DEF,   /* uint16_t conn_int_min  */
+                                          BTM_BLE_CONN_INT_MAX_DEF,   /* uint16_t conn_int_max  */
+                                          BTM_BLE_CONN_SLAVE_LATENCY_DEF,  /* uint16_t conn_latency  */
+                                          BTM_BLE_CONN_TIMEOUT_DEF,        /* uint16_t conn_timeout  */
+                                          0,                       /* uint16_t min_len       */
+                                          0);                      /* uint16_t max_len       */
+            btm_ble_set_conn_st (BLE_BG_CONN);
         }
         else
         {
@@ -462,14 +454,11 @@
             if (btm_cb.cmn_ble_vsc_cb.extended_scan_support == 0)
             {
                 /* use passive scan by default */
-                if (!btsnd_hcic_ble_set_scan_params(BTM_BLE_SCAN_MODE_PASS,
-                                                    scan_int,
-                                                    scan_win,
-                                                    p_cb->addr_mgnt_cb.own_addr_type,
-                                                    SP_ADV_WL))
-                {
-                    return false;
-                }
+                btsnd_hcic_ble_set_scan_params(BTM_BLE_SCAN_MODE_PASS,
+                                               scan_int,
+                                               scan_win,
+                                               p_cb->addr_mgnt_cb.own_addr_type,
+                                               SP_ADV_WL);
             }
             else
             {
@@ -493,8 +482,7 @@
 #if (BLE_PRIVACY_SPT == TRUE)
                 btm_ble_enable_resolving_list_for_platform(BTM_BLE_RL_SCAN);
 #endif
-                if (!btsnd_hcic_ble_set_scan_enable(true, true)) /* duplicate filtering enabled */
-                     return false;
+                btsnd_hcic_ble_set_scan_enable(true, true); /* duplicate filtering enabled */
 
                  /* mark up inquiry status flag */
                  p_cb->scan_activity |= BTM_LE_SELECT_CONN_ACTIVE;
diff --git a/system/stack/btm/btm_ble_gap.c b/system/stack/btm/btm_ble_gap.c
index f3bdc15..d83ac72 100644
--- a/system/stack/btm/btm_ble_gap.c
+++ b/system/stack/btm/btm_ble_gap.c
@@ -276,16 +276,16 @@
             p_cb->evt_type = btm_set_conn_mode_adv_init_addr(p_cb, p_addr_ptr, &init_addr_type,
                                                               &p_cb->adv_addr_type);
 
-        btsnd_hcic_ble_write_adv_params ((uint16_t)(p_cb->adv_interval_min ? p_cb->adv_interval_min :
-                                         BTM_BLE_GAP_ADV_SLOW_INT),
-                                         (uint16_t)(p_cb->adv_interval_max ? p_cb->adv_interval_max :
-                                         BTM_BLE_GAP_ADV_SLOW_INT),
-                                         p_cb->evt_type,
-                                         p_cb->adv_addr_type,
-                                         init_addr_type,
-                                         p_addr_ptr,
-                                         p_cb->adv_chnl_map,
-                                         p_cb->afp);
+        btsnd_hcic_ble_write_adv_params((uint16_t)(p_cb->adv_interval_min ? p_cb->adv_interval_min :
+                                        BTM_BLE_GAP_ADV_SLOW_INT),
+                                        (uint16_t)(p_cb->adv_interval_max ? p_cb->adv_interval_max :
+                                        BTM_BLE_GAP_ADV_SLOW_INT),
+                                        p_cb->evt_type,
+                                        p_cb->adv_addr_type,
+                                        init_addr_type,
+                                        p_addr_ptr,
+                                        p_cb->adv_chnl_map,
+                                        p_cb->afp);
 
         if (adv_mode == BTM_BLE_ADV_ENABLE)
             btm_ble_start_adv ();
@@ -461,21 +461,18 @@
     if (start && p_cb->adv_mode == BTM_BLE_ADV_DISABLE)
     {
         /* update adv params */
-        if (!btsnd_hcic_ble_write_adv_params ((uint16_t)(p_cb->adv_interval_min ? p_cb->adv_interval_min :
-                                              BTM_BLE_GAP_ADV_INT),
-                                              (uint16_t)(p_cb->adv_interval_max ? p_cb->adv_interval_max :
-                                              BTM_BLE_GAP_ADV_INT),
-                                              evt_type,
-                                              p_addr_cb->own_addr_type,
-                                              p_cb->direct_bda.type,
-                                              p_cb->direct_bda.bda,
-                                              p_cb->adv_chnl_map,
-                                              p_cb->afp))
+        btsnd_hcic_ble_write_adv_params ((uint16_t)(p_cb->adv_interval_min ? p_cb->adv_interval_min :
+                                         BTM_BLE_GAP_ADV_INT),
+                                         (uint16_t)(p_cb->adv_interval_max ? p_cb->adv_interval_max :
+                                         BTM_BLE_GAP_ADV_INT),
+                                         evt_type,
+                                         p_addr_cb->own_addr_type,
+                                         p_cb->direct_bda.type,
+                                         p_cb->direct_bda.bda,
+                                         p_cb->adv_chnl_map,
+                                         p_cb->afp);
 
-            status = BTM_NO_RESOURCES;
-        else
-            p_cb->evt_type = evt_type;
-
+        p_cb->evt_type = evt_type;
         status = btm_ble_start_adv ();
     }
     else if (!start)
@@ -1195,27 +1192,20 @@
 void BTM_BleWriteScanRsp(uint8_t* data, uint8_t length,
                          tBTM_BLE_ADV_DATA_CMPL_CBACK *p_adv_data_cback)
 {
-    tBTM_STATUS     status = BTM_NO_RESOURCES;
-
     BTM_TRACE_EVENT ("%s: length: %d", __func__, length);
     if (!controller_get_interface()->supports_ble()) {
         p_adv_data_cback(BTM_ILLEGAL_VALUE);
         return;
     }
 
-    if (btsnd_hcic_ble_set_scan_rsp_data(length, data))
-    {
-        status = BTM_SUCCESS;
+    btsnd_hcic_ble_set_scan_rsp_data(length, data);
 
-        if (length != 0)
-            btm_cb.ble_ctr_cb.inq_var.scan_rsp = true;
-        else
-            btm_cb.ble_ctr_cb.inq_var.scan_rsp = false;
-    }
+    if (length != 0)
+        btm_cb.ble_ctr_cb.inq_var.scan_rsp = true;
     else
-        status = BTM_ILLEGAL_VALUE;
+        btm_cb.ble_ctr_cb.inq_var.scan_rsp = false;
 
-    p_adv_data_cback(status);
+    p_adv_data_cback(BTM_SUCCESS);
 }
 
 /*******************************************************************************
@@ -1242,10 +1232,8 @@
 
     //TODO(jpawlowski): fill flags, old code had them empty always.
 
-    if (btsnd_hcic_ble_set_adv_data(length, data))
-        p_adv_data_cback(BTM_SUCCESS);
-    else
-        p_adv_data_cback(BTM_NO_RESOURCES);
+    btsnd_hcic_ble_set_adv_data(length, data);
+    p_adv_data_cback(BTM_SUCCESS);
 }
 
 /*******************************************************************************
@@ -1497,22 +1485,12 @@
             btm_ble_stop_adv();
 
             /* update adv params */
-            if (!btsnd_hcic_ble_write_adv_params (adv_int_min,
-                                                  adv_int_max,
-                                                  evt_type,
-                                                  own_addr_type,
-                                                  init_addr_type,
-                                                  p_addr_ptr,
-                                                  p_cb->adv_chnl_map,
-                                                  p_cb->afp))
-            {
-                status = BTM_NO_RESOURCES;
-            }
-            else
-            {
-                p_cb->evt_type = evt_type;
-                p_cb->adv_addr_type = own_addr_type;
-            }
+            btsnd_hcic_ble_write_adv_params(adv_int_min, adv_int_max, evt_type,
+                                            own_addr_type, init_addr_type,
+                                            p_addr_ptr, p_cb->adv_chnl_map,
+                                            p_cb->afp);
+            p_cb->evt_type = evt_type;
+            p_cb->adv_addr_type = own_addr_type;
         }
     }
 
@@ -1602,22 +1580,12 @@
         {
             btm_ble_stop_adv();
 
-            if (!btsnd_hcic_ble_write_adv_params (adv_int_min,
-                                                  adv_int_max,
-                                                  evt_type,
-                                                  own_addr_type,
-                                                  peer_addr_type,
-                                                  p_addr_ptr,
-                                                  p_cb->adv_chnl_map,
-                                                  p_cb->afp))
-            {
-                status = BTM_NO_RESOURCES;
-            }
-            else
-            {
-                p_cb->evt_type = evt_type;
-                p_cb->adv_addr_type = own_addr_type;
-            }
+            btsnd_hcic_ble_write_adv_params(adv_int_min, adv_int_max, evt_type,
+                                            own_addr_type, peer_addr_type,
+                                            p_addr_ptr, p_cb->adv_chnl_map,
+                                            p_cb->afp);
+            p_cb->evt_type = evt_type;
+            p_cb->adv_addr_type = own_addr_type;
         }
     }
 
@@ -1873,9 +1841,9 @@
         p_adv_data->p_pad = p;
     }
 
-    if (btsnd_hcic_ble_set_adv_data((uint8_t)(p_adv_data->p_pad - p_adv_data->ad_data),
-                                    p_adv_data->ad_data))
-        p_adv_data->data_mask |= BTM_BLE_AD_BIT_FLAGS;
+    btsnd_hcic_ble_set_adv_data((uint8_t)(p_adv_data->p_pad - p_adv_data->ad_data),
+                                p_adv_data->ad_data);
+    p_adv_data->data_mask |= BTM_BLE_AD_BIT_FLAGS;
 
 }
 
@@ -2491,21 +2459,16 @@
 tBTM_STATUS btm_ble_start_scan(void)
 {
     tBTM_BLE_INQ_CB *p_inq = &btm_cb.ble_ctr_cb.inq_var;
-    tBTM_STATUS status = BTM_CMD_STARTED;
 
     /* start scan, disable duplicate filtering */
-    if (!btsnd_hcic_ble_set_scan_enable (BTM_BLE_SCAN_ENABLE, p_inq->scan_duplicate_filter))
-    {
-        status = BTM_NO_RESOURCES;
-    }
+    btsnd_hcic_ble_set_scan_enable(BTM_BLE_SCAN_ENABLE, p_inq->scan_duplicate_filter);
+
+    if (p_inq->scan_type == BTM_BLE_SCAN_MODE_ACTI)
+        btm_ble_set_topology_mask(BTM_BLE_STATE_ACTIVE_SCAN_BIT);
     else
-    {
-        if (p_inq->scan_type == BTM_BLE_SCAN_MODE_ACTI)
-            btm_ble_set_topology_mask(BTM_BLE_STATE_ACTIVE_SCAN_BIT);
-        else
-            btm_ble_set_topology_mask(BTM_BLE_STATE_PASSIVE_SCAN_BIT);
-    }
-    return status;
+        btm_ble_set_topology_mask(BTM_BLE_STATE_PASSIVE_SCAN_BIT);
+
+    return BTM_CMD_STARTED;
 }
 
 /*******************************************************************************
@@ -2649,7 +2612,6 @@
 tBTM_STATUS btm_ble_start_adv(void)
 {
     tBTM_BLE_INQ_CB *p_cb = &btm_cb.ble_ctr_cb.inq_var;
-    tBTM_STATUS     rt = BTM_NO_RESOURCES;
 
     if (!btm_ble_adv_states_operation (btm_ble_topology_check, p_cb->evt_type))
         return BTM_WRONG_MODE;
@@ -2667,18 +2629,10 @@
         btm_cb.ble_ctr_cb.wl_state |= BTM_BLE_WL_ADV;
     }
 
-    if (btsnd_hcic_ble_set_adv_enable (BTM_BLE_ADV_ENABLE))
-    {
-         p_cb->adv_mode = BTM_BLE_ADV_ENABLE;
-         btm_ble_adv_states_operation(btm_ble_set_topology_mask, p_cb->evt_type);
-         rt = BTM_SUCCESS;
-    }
-    else
-    {
-        p_cb->adv_mode = BTM_BLE_ADV_DISABLE;
-        btm_cb.ble_ctr_cb.wl_state &= ~BTM_BLE_WL_ADV;
-    }
-    return rt;
+    btsnd_hcic_ble_set_adv_enable (BTM_BLE_ADV_ENABLE);
+    p_cb->adv_mode = BTM_BLE_ADV_ENABLE;
+    btm_ble_adv_states_operation(btm_ble_set_topology_mask, p_cb->evt_type);
+    return BTM_SUCCESS;
 }
 
 /*******************************************************************************
@@ -2693,23 +2647,19 @@
 tBTM_STATUS btm_ble_stop_adv(void)
 {
     tBTM_BLE_INQ_CB *p_cb = &btm_cb.ble_ctr_cb.inq_var;
-    tBTM_STATUS rt = BTM_SUCCESS;
 
     if (p_cb->adv_mode == BTM_BLE_ADV_ENABLE)
     {
-        if (btsnd_hcic_ble_set_adv_enable (BTM_BLE_ADV_DISABLE))
-        {
-            p_cb->fast_adv_on = false;
-            p_cb->adv_mode = BTM_BLE_ADV_DISABLE;
-            btm_cb.ble_ctr_cb.wl_state &= ~BTM_BLE_WL_ADV;
+        btsnd_hcic_ble_set_adv_enable (BTM_BLE_ADV_DISABLE);
 
-            /* clear all adv states */
-            btm_ble_clear_topology_mask (BTM_BLE_STATE_ALL_ADV_MASK);
-        }
-        else
-            rt = BTM_NO_RESOURCES;
+        p_cb->fast_adv_on = false;
+        p_cb->adv_mode = BTM_BLE_ADV_DISABLE;
+        btm_cb.ble_ctr_cb.wl_state &= ~BTM_BLE_WL_ADV;
+
+        /* clear all adv states */
+        btm_ble_clear_topology_mask (BTM_BLE_STATE_ALL_ADV_MASK);
     }
-    return rt;
+    return BTM_SUCCESS;
 }
 
 static void btm_ble_fast_adv_timer_timeout(UNUSED_ATTR void *data)
diff --git a/system/stack/btm/btm_ble_privacy.c b/system/stack/btm/btm_ble_privacy.c
index 4d900a8..32330c9 100644
--- a/system/stack/btm/btm_ble_privacy.c
+++ b/system/stack/btm/btm_ble_privacy.c
@@ -457,9 +457,9 @@
     tBTM_STATUS st = BTM_NO_RESOURCES;
     if (controller_get_interface()->supports_ble_privacy())
     {
-        if (btsnd_hcic_ble_rm_device_resolving_list(p_dev_rec->ble.static_addr_type,
-                                                    p_dev_rec->ble.static_addr))
-            st =  BTM_CMD_STARTED;
+        btsnd_hcic_ble_rm_device_resolving_list(p_dev_rec->ble.static_addr_type,
+                                                p_dev_rec->ble.static_addr);
+        st =  BTM_CMD_STARTED;
     }
     else
     {
@@ -499,8 +499,8 @@
 
     if (controller_get_interface()->supports_ble_privacy())
     {
-        if (btsnd_hcic_ble_clear_resolving_list())
-            st =  BTM_SUCCESS;
+        btsnd_hcic_ble_clear_resolving_list();
+        st =  BTM_SUCCESS;
     }
     else
     {
@@ -537,9 +537,9 @@
 
     if (controller_get_interface()->supports_ble_privacy())
     {
-        if (btsnd_hcic_ble_read_resolvable_addr_peer(p_dev_rec->ble.static_addr_type,
-                                                     p_dev_rec->ble.static_addr))
-            st =  BTM_CMD_STARTED;
+        btsnd_hcic_ble_read_resolvable_addr_peer(p_dev_rec->ble.static_addr_type,
+                                                     p_dev_rec->ble.static_addr);
+        st =  BTM_CMD_STARTED;
     }
     else
     {
diff --git a/system/stack/btm/btm_devctl.c b/system/stack/btm/btm_devctl.c
index a2f885b..4a33aed 100644
--- a/system/stack/btm/btm_devctl.c
+++ b/system/stack/btm/btm_devctl.c
@@ -452,10 +452,8 @@
     if (p != (uint8_t *)p_name)
         strlcpy(btm_cb.cfg.bd_name, p_name, BTM_MAX_LOC_BD_NAME_LEN);
 
-    if (btsnd_hcic_change_name(p))
-        return (BTM_CMD_STARTED);
-    else
-        return (BTM_NO_RESOURCES);
+    btsnd_hcic_change_name(p);
+    return (BTM_CMD_STARTED);
 }
 
 
@@ -559,8 +557,7 @@
     if (!controller_get_interface()->get_is_ready())
         return (BTM_DEV_RESET);
 
-    if (!btsnd_hcic_write_dev_class (dev_class))
-        return (BTM_NO_RESOURCES);
+    btsnd_hcic_write_dev_class(dev_class);
 
     return (BTM_SUCCESS);
 }
@@ -773,21 +770,13 @@
 **
 ** Description      Send HCI Write Page Timeout.
 **
-** Returns
-**      BTM_SUCCESS         Command sent.
-**      BTM_NO_RESOURCES     If out of resources to send the command.
-**
-**
 *******************************************************************************/
-tBTM_STATUS BTM_WritePageTimeout(uint16_t timeout)
+void BTM_WritePageTimeout(uint16_t timeout)
 {
     BTM_TRACE_EVENT ("BTM: BTM_WritePageTimeout: Timeout: %d.", timeout);
 
     /* Send the HCI command */
-    if (btsnd_hcic_write_page_tout (timeout))
-        return (BTM_SUCCESS);
-    else
-        return (BTM_NO_RESOURCES);
+    btsnd_hcic_write_page_tout(timeout);
 }
 
 /*******************************************************************************
@@ -797,21 +786,13 @@
 ** Description      Send HCI Write Voice Settings command.
 **                  See hcidefs.h for settings bitmask values.
 **
-** Returns
-**      BTM_SUCCESS         Command sent.
-**      BTM_NO_RESOURCES     If out of resources to send the command.
-**
-**
 *******************************************************************************/
-tBTM_STATUS BTM_WriteVoiceSettings(uint16_t settings)
+void BTM_WriteVoiceSettings(uint16_t settings)
 {
     BTM_TRACE_EVENT ("BTM: BTM_WriteVoiceSettings: Settings: 0x%04x.", settings);
 
     /* Send the HCI command */
-    if (btsnd_hcic_write_voice_settings ((uint16_t)(settings & 0x03ff)))
-        return (BTM_SUCCESS);
-
-    return (BTM_NO_RESOURCES);
+    btsnd_hcic_write_voice_settings((uint16_t)(settings & 0x03ff));
 }
 
 /*******************************************************************************
@@ -838,12 +819,9 @@
     /* set auto accept connection as this is needed during test mode */
     /* Allocate a buffer to hold HCI command */
     cond = HCI_DO_AUTO_ACCEPT_CONNECT;
-    if (!btsnd_hcic_set_event_filter(HCI_FILTER_CONNECTION_SETUP,
-                                     HCI_FILTER_COND_NEW_DEVICE,
-                                     &cond, sizeof(cond)))
-    {
-        return (BTM_NO_RESOURCES);
-    }
+    btsnd_hcic_set_event_filter(HCI_FILTER_CONNECTION_SETUP,
+                                HCI_FILTER_COND_NEW_DEVICE,
+                                &cond, sizeof(cond));
 
     /* put device to connectable mode */
     if (BTM_SetConnectability(BTM_CONNECTABLE, BTM_DEFAULT_CONN_WINDOW,
@@ -866,10 +844,8 @@
       NULL);
 
     /* Send the HCI command */
-    if (btsnd_hcic_enable_test_mode ())
-        return (BTM_SUCCESS);
-    else
-        return (BTM_NO_RESOURCES);
+    btsnd_hcic_enable_test_mode();
+    return (BTM_SUCCESS);
 }
 
 /*******************************************************************************
@@ -908,12 +884,8 @@
 
     /* Send the HCI command */
     btm_cb.devcb.p_stored_link_key_cmpl_cb = p_cb;
-    if (!btsnd_hcic_delete_stored_key (bd_addr, delete_all_flag))
-    {
-        return (BTM_NO_RESOURCES);
-    }
-    else
-        return (BTM_SUCCESS);
+    btsnd_hcic_delete_stored_key(bd_addr, delete_all_flag);
+    return (BTM_SUCCESS);
 }
 
 /*******************************************************************************
diff --git a/system/stack/btm/btm_inq.c b/system/stack/btm/btm_inq.c
index 35ae5ee..ce9037f 100644
--- a/system/stack/btm/btm_inq.c
+++ b/system/stack/btm/btm_inq.c
@@ -226,13 +226,11 @@
             memcpy (temp_lap[0], limited_inq_lap, LAP_LEN);
             memcpy (temp_lap[1], general_inq_lap, LAP_LEN);
 
-            if (!btsnd_hcic_write_cur_iac_lap (2, (LAP * const) temp_lap))
-                return (BTM_NO_RESOURCES);  /* Cannot continue */
+            btsnd_hcic_write_cur_iac_lap(2, (LAP * const) temp_lap);
         }
         else
         {
-            if (!btsnd_hcic_write_cur_iac_lap (1, (LAP * const) &general_inq_lap))
-                return (BTM_NO_RESOURCES);  /* Cannot continue */
+            btsnd_hcic_write_cur_iac_lap(1, (LAP * const) &general_inq_lap);
         }
 
         scan_mode |= HCI_INQUIRY_SCAN_ENABLED;
@@ -242,25 +240,17 @@
     if ((window != btm_cb.btm_inq_vars.inq_scan_window) ||
         (interval != btm_cb.btm_inq_vars.inq_scan_period))
     {
-        if (btsnd_hcic_write_inqscan_cfg (interval, window))
-        {
-            btm_cb.btm_inq_vars.inq_scan_window = window;
-            btm_cb.btm_inq_vars.inq_scan_period = interval;
-        }
-        else
-            return (BTM_NO_RESOURCES);
+        btsnd_hcic_write_inqscan_cfg(interval, window);
+        btm_cb.btm_inq_vars.inq_scan_window = window;
+        btm_cb.btm_inq_vars.inq_scan_period = interval;
     }
 
     if (btm_cb.btm_inq_vars.connectable_mode & BTM_CONNECTABLE_MASK)
         scan_mode |= HCI_PAGE_SCAN_ENABLED;
 
-    if (btsnd_hcic_write_scan_enable (scan_mode))
-    {
-        btm_cb.btm_inq_vars.discoverable_mode &= (~BTM_DISCOVERABLE_MASK);
-        btm_cb.btm_inq_vars.discoverable_mode |= inq_mode;
-    }
-    else
-        return (BTM_NO_RESOURCES);
+    btsnd_hcic_write_scan_enable (scan_mode);
+    btm_cb.btm_inq_vars.discoverable_mode &= (~BTM_DISCOVERABLE_MASK);
+    btm_cb.btm_inq_vars.discoverable_mode |= inq_mode;
 
     /* Change the service class bit if mode has changed */
     p_cod = BTM_ReadDeviceClass();
@@ -311,10 +301,8 @@
     {
         if (BTM_IsDeviceUp())
         {
-            if (btsnd_hcic_write_inqscan_type ((uint8_t)scan_type))
-                btm_cb.btm_inq_vars.inq_scan_type = scan_type;
-            else
-                return (BTM_NO_RESOURCES);
+            btsnd_hcic_write_inqscan_type((uint8_t)scan_type);
+            btm_cb.btm_inq_vars.inq_scan_type = scan_type;
         }
         else return (BTM_WRONG_MODE);
     }
@@ -348,10 +336,8 @@
     {
         if (BTM_IsDeviceUp())
         {
-            if (btsnd_hcic_write_pagescan_type ((uint8_t)scan_type))
-                btm_cb.btm_inq_vars.page_scan_type  = scan_type;
-            else
-                return (BTM_NO_RESOURCES);
+            btsnd_hcic_write_pagescan_type ((uint8_t)scan_type);
+            btm_cb.btm_inq_vars.page_scan_type  = scan_type;
         }
         else return (BTM_WRONG_MODE);
     }
@@ -398,8 +384,7 @@
     if (!BTM_IsDeviceUp())
         return (BTM_WRONG_MODE);
 
-    if (!btsnd_hcic_write_inquiry_mode (mode))
-        return (BTM_NO_RESOURCES);
+    btsnd_hcic_write_inquiry_mode(mode);
 
     return (BTM_SUCCESS);
 }
@@ -562,8 +547,7 @@
         btm_cb.btm_inq_vars.inq_active = BTM_INQUIRY_INACTIVE;
         btm_cb.btm_inq_vars.p_inq_results_cb = (tBTM_INQ_RESULTS_CB *) NULL;
 
-        if (!btsnd_hcic_exit_per_inq ())
-            status = BTM_NO_RESOURCES;
+        btsnd_hcic_exit_per_inq();
 
         /* If the event filter is in progress, mark it so that the processing of the return
            event will be ignored */
@@ -651,23 +635,17 @@
     {
         p_inq->page_scan_window = window;
         p_inq->page_scan_period = interval;
-        if (!btsnd_hcic_write_pagescan_cfg (interval, window))
-            return (BTM_NO_RESOURCES);
+        btsnd_hcic_write_pagescan_cfg(interval, window);
     }
 
     /* Keep the inquiry scan as previouosly set */
     if (p_inq->discoverable_mode & BTM_DISCOVERABLE_MASK)
         scan_mode |= HCI_INQUIRY_SCAN_ENABLED;
 
-    if (btsnd_hcic_write_scan_enable (scan_mode))
-    {
-        p_inq->connectable_mode &= (~BTM_CONNECTABLE_MASK);
-        p_inq->connectable_mode |= page_mode;
-
-        return (BTM_SUCCESS);
-    }
-
-    return (BTM_NO_RESOURCES);
+    btsnd_hcic_write_scan_enable (scan_mode);
+    p_inq->connectable_mode &= (~BTM_CONNECTABLE_MASK);
+    p_inq->connectable_mode |= page_mode;
+    return (BTM_SUCCESS);
 }
 
 
@@ -767,8 +745,7 @@
 #endif
             )
             {
-                if (!btsnd_hcic_inq_cancel())
-                    status = BTM_NO_RESOURCES;
+                btsnd_hcic_inq_cancel();
             }
 #if (BLE_INCLUDED == TRUE)
             if (((p_inq->inqparms.mode & BTM_BLE_INQUIRY_MASK) != 0)
@@ -1116,10 +1093,8 @@
         }
         else
 #endif
-        if (btsnd_hcic_rmt_name_req_cancel (p_inq->remname_bda))
-            return (BTM_CMD_STARTED);
-        else
-            return (BTM_NO_RESOURCES);
+        btsnd_hcic_rmt_name_req_cancel(p_inq->remname_bda);
+        return (BTM_CMD_STARTED);
     }
     else
         return (BTM_WRONG_MODE);
@@ -1262,14 +1237,8 @@
                        btm_read_inq_tx_power_timeout, NULL,
                        btu_general_alarm_queue);
 
-    if (!btsnd_hcic_read_inq_tx_power ())
-    {
-        btm_cb.devcb.p_inq_tx_power_cmpl_cb = NULL;
-        alarm_cancel(btm_cb.devcb.read_inq_tx_power_timer);
-        return (BTM_NO_RESOURCES);
-    }
-    else
-        return (BTM_CMD_STARTED);
+    btsnd_hcic_read_inq_tx_power();
+    return (BTM_CMD_STARTED);
 }
 
 /*********************************************************************************
@@ -1671,12 +1640,9 @@
     btm_cb.btm_inq_vars.inqfilt_active = true;
 
     /* Filter the inquiry results for the specified condition type and value */
-    if (btsnd_hcic_set_event_filter(HCI_FILTER_INQUIRY_RESULT, filter_cond_type,
-                                    p_cond, condition_length))
-
-        return (BTM_CMD_STARTED);
-    else
-        return (BTM_NO_RESOURCES);
+    btsnd_hcic_set_event_filter(HCI_FILTER_INQUIRY_RESULT, filter_cond_type,
+                                p_cond, condition_length);
+    return (BTM_CMD_STARTED);
 }
 
 
@@ -1816,11 +1782,10 @@
 
     if (p_inq->inq_active & BTM_PERIODIC_INQUIRY_ACTIVE)
     {
-        if (!btsnd_hcic_per_inq_mode (p_inq->per_max_delay,
-                                      p_inq->per_min_delay,
-                                      *lap, p_inqparms->duration,
-                                      p_inqparms->max_resps))
-            btm_process_inq_complete (BTM_NO_RESOURCES, (uint8_t)(p_inqparms->mode & BTM_BR_INQUIRY_MASK));
+        btsnd_hcic_per_inq_mode (p_inq->per_max_delay,
+                                 p_inq->per_min_delay,
+                                 *lap, p_inqparms->duration,
+                                 p_inqparms->max_resps);
     }
     else
     {
@@ -1830,8 +1795,7 @@
         p_inq->p_bd_db = (tINQ_BDADDR *)osi_calloc(BT_DEFAULT_BUFFER_SIZE);
         p_inq->max_bd_entries = (uint16_t)(BT_DEFAULT_BUFFER_SIZE / sizeof(tINQ_BDADDR));
 
-        if (!btsnd_hcic_inquiry(*lap, p_inqparms->duration, 0))
-            btm_process_inq_complete (BTM_NO_RESOURCES, (uint8_t)(p_inqparms->mode & BTM_BR_INQUIRY_MASK));
+        btsnd_hcic_inquiry(*lap, p_inqparms->duration, 0);
     }
 }
 
diff --git a/system/stack/btm/btm_pm.c b/system/stack/btm/btm_pm.c
index d074693..0c09220 100644
--- a/system/stack/btm/btm_pm.c
+++ b/system/stack/btm/btm_pm.c
@@ -355,11 +355,9 @@
     if(BTM_PM_STS_ACTIVE == btm_cb.pm_mode_db[acl_ind].state ||
         BTM_PM_STS_SNIFF == btm_cb.pm_mode_db[acl_ind].state)
     {
-        if (btsnd_hcic_sniff_sub_rate(btm_cb.acl_db[acl_ind].hci_handle, max_lat,
-                                      min_rmt_to, min_loc_to))
-            return BTM_SUCCESS;
-        else
-            return BTM_NO_RESOURCES;
+        btsnd_hcic_sniff_sub_rate(btm_cb.acl_db[acl_ind].hci_handle, max_lat,
+                                  min_rmt_to, min_loc_to);
+        return BTM_SUCCESS;
     }
     p_cb = &btm_cb.pm_mode_db[acl_ind];
     p_cb->max_lat       = max_lat;
@@ -660,16 +658,12 @@
         switch(p_cb->state)
         {
         case BTM_PM_MD_SNIFF:
-            if (btsnd_hcic_exit_sniff_mode(btm_cb.acl_db[link_ind].hci_handle))
-            {
-                btm_cb.pm_pend_link = link_ind;
-            }
+            btsnd_hcic_exit_sniff_mode(btm_cb.acl_db[link_ind].hci_handle);
+            btm_cb.pm_pend_link = link_ind;
             break;
         case BTM_PM_MD_PARK:
-            if (btsnd_hcic_exit_park_mode(btm_cb.acl_db[link_ind].hci_handle))
-            {
-                btm_cb.pm_pend_link = link_ind;
-            }
+            btsnd_hcic_exit_park_mode(btm_cb.acl_db[link_ind].hci_handle);
+            btm_cb.pm_pend_link = link_ind;
             break;
         default:
             /* Failure btm_cb.pm_pend_link = MAX_L2CAP_LINKS */
@@ -678,28 +672,22 @@
         break;
 
     case BTM_PM_MD_HOLD:
-        if (btsnd_hcic_hold_mode (btm_cb.acl_db[link_ind].hci_handle,
-                                  md_res.max, md_res.min))
-        {
-            btm_cb.pm_pend_link = link_ind;
-        }
+        btsnd_hcic_hold_mode(btm_cb.acl_db[link_ind].hci_handle,
+                             md_res.max, md_res.min);
+        btm_cb.pm_pend_link = link_ind;
         break;
 
     case BTM_PM_MD_SNIFF:
-        if (btsnd_hcic_sniff_mode (btm_cb.acl_db[link_ind].hci_handle,
-                                   md_res.max, md_res.min, md_res.attempt,
-                                   md_res.timeout))
-        {
-            btm_cb.pm_pend_link = link_ind;
-        }
+        btsnd_hcic_sniff_mode(btm_cb.acl_db[link_ind].hci_handle,
+                              md_res.max, md_res.min, md_res.attempt,
+                              md_res.timeout);
+        btm_cb.pm_pend_link = link_ind;
         break;
 
     case BTM_PM_MD_PARK:
-        if (btsnd_hcic_park_mode (btm_cb.acl_db[link_ind].hci_handle,
-                                  md_res.max, md_res.min))
-        {
-            btm_cb.pm_pend_link = link_ind;
-        }
+        btsnd_hcic_park_mode(btm_cb.acl_db[link_ind].hci_handle,
+                             md_res.max, md_res.min);
+        btm_cb.pm_pend_link = link_ind;
         break;
     default:
         /* Failure btm_cb.pm_pend_link = MAX_L2CAP_LINKS */
diff --git a/system/stack/btm/btm_sco.c b/system/stack/btm/btm_sco.c
index ca069bb..994e9df 100644
--- a/system/stack/btm/btm_sco.c
+++ b/system/stack/btm/btm_sco.c
@@ -167,17 +167,11 @@
 
         if (!btm_cb.sco_cb.esco_supported)
         {
-            if (!btsnd_hcic_reject_conn (bda, hci_status))
-            {
-                BTM_TRACE_ERROR("Could not reject (e)SCO conn: No Buffer!!!");
-            }
+            btsnd_hcic_reject_conn(bda, hci_status);
         }
         else
         {
-            if (!btsnd_hcic_reject_esco_conn (bda, hci_status))
-            {
-                BTM_TRACE_ERROR("Could not reject (e)SCO conn: No Buffer!!!");
-            }
+            btsnd_hcic_reject_esco_conn(bda, hci_status);
         }
     }
     else    /* Connection is being accepted */
@@ -218,16 +212,10 @@
                 (btm_cb.btm_sco_pkt_types_supported & BTM_SCO_EXCEPTION_PKTS_MASK));
         }
 
-        if (btsnd_hcic_accept_esco_conn (bda, p_setup->tx_bw, p_setup->rx_bw,
-                                     p_setup->max_latency, p_setup->voice_contfmt,
-                                         p_setup->retrans_effort, temp_pkt_types))
-        {
-            p_setup->packet_types = temp_pkt_types;
-        }
-        else
-        {
-            BTM_TRACE_ERROR("Could not accept SCO conn: No Buffer!!!");
-        }
+        btsnd_hcic_accept_esco_conn(bda, p_setup->tx_bw, p_setup->rx_bw,
+                                    p_setup->max_latency, p_setup->voice_contfmt,
+                                    p_setup->retrans_effort, temp_pkt_types);
+        p_setup->packet_types = temp_pkt_types;
     }
 #endif
 }
@@ -407,8 +395,7 @@
     /* Send connect request depending on version of spec */
     if (!btm_cb.sco_cb.esco_supported)
     {
-        if (!btsnd_hcic_add_SCO_conn (acl_handle, BTM_ESCO_2_SCO(p_setup->packet_types)))
-            return (BTM_NO_RESOURCES);
+        btsnd_hcic_add_SCO_conn(acl_handle, BTM_ESCO_2_SCO(p_setup->packet_types));
     }
     else
     {
@@ -470,16 +457,14 @@
             p_setup->max_latency, p_setup->voice_contfmt,
             p_setup->retrans_effort, temp_pkt_types);
 
-        if (!btsnd_hcic_setup_esco_conn(acl_handle,
-                                        p_setup->tx_bw,
-                                        p_setup->rx_bw,
-                                        p_setup->max_latency,
-                                        p_setup->voice_contfmt,
-                                        p_setup->retrans_effort,
-                                        temp_pkt_types))
-            return (BTM_NO_RESOURCES);
-        else
-            p_setup->packet_types = temp_pkt_types;
+        btsnd_hcic_setup_esco_conn(acl_handle,
+                                   p_setup->tx_bw,
+                                   p_setup->rx_bw,
+                                   p_setup->max_latency,
+                                   p_setup->voice_contfmt,
+                                   p_setup->retrans_effort,
+                                   temp_pkt_types);
+        p_setup->packet_types = temp_pkt_types;
     }
 
     return (BTM_CMD_STARTED);
@@ -1094,11 +1079,7 @@
     tempstate = p->state;
     p->state = SCO_ST_DISCONNECTING;
 
-    if (!btsnd_hcic_disconnect (p->hci_handle, HCI_ERR_PEER_USER))
-    {
-        p->state = tempstate;
-        return (BTM_NO_RESOURCES);
-    }
+    btsnd_hcic_disconnect(p->hci_handle, HCI_ERR_PEER_USER);
 
     return (BTM_CMD_STARTED);
 #else
@@ -1577,9 +1558,8 @@
         BTM_TRACE_API("BTM_ChangeEScoLinkParms -> SCO Link for handle 0x%04x, pkt 0x%04x",
                          p_sco->hci_handle, p_setup->packet_types);
 
-        if (!btsnd_hcic_change_conn_type (p_sco->hci_handle,
-                                     BTM_ESCO_2_SCO(p_setup->packet_types)))
-            return (BTM_NO_RESOURCES);
+        btsnd_hcic_change_conn_type(p_sco->hci_handle,
+                                    BTM_ESCO_2_SCO(p_setup->packet_types));
     }
     else
     {
@@ -1596,14 +1576,12 @@
                          p_setup->voice_contfmt, p_parms->retrans_effort, temp_pkt_types);
 
         /* When changing an existing link, only change latency, retrans, and pkts */
-        if (!btsnd_hcic_setup_esco_conn(p_sco->hci_handle, p_setup->tx_bw,
-                                        p_setup->rx_bw, p_parms->max_latency,
-                                        p_setup->voice_contfmt,
-                                        p_parms->retrans_effort,
-                                        temp_pkt_types))
-            return (BTM_NO_RESOURCES);
-        else
-            p_parms->packet_types = temp_pkt_types;
+        btsnd_hcic_setup_esco_conn(p_sco->hci_handle, p_setup->tx_bw,
+                                   p_setup->rx_bw, p_parms->max_latency,
+                                   p_setup->voice_contfmt,
+                                   p_parms->retrans_effort,
+                                   temp_pkt_types);
+        p_parms->packet_types = temp_pkt_types;
     }
 
     return (BTM_CMD_STARTED);
diff --git a/system/stack/btm/btm_sec.c b/system/stack/btm/btm_sec.c
index a620f98..a607a60 100644
--- a/system/stack/btm/btm_sec.c
+++ b/system/stack/btm/btm_sec.c
@@ -67,7 +67,7 @@
 static tBTM_STATUS btm_sec_execute_procedure (tBTM_SEC_DEV_REC *p_dev_rec);
 static bool     btm_sec_start_get_name (tBTM_SEC_DEV_REC *p_dev_rec);
 static bool     btm_sec_start_authentication (tBTM_SEC_DEV_REC *p_dev_rec);
-static bool     btm_sec_start_encryption (tBTM_SEC_DEV_REC *p_dev_rec);
+static void     btm_sec_start_encryption (tBTM_SEC_DEV_REC *p_dev_rec);
 static void     btm_sec_collision_timeout(void *data);
 static void     btm_restore_mode(void);
 static void     btm_sec_pairing_timeout(void *data);
@@ -1273,10 +1273,8 @@
             /* If the HCI link creation was started by Bonding process */
             if (btm_cb.pairing_flags & BTM_PAIR_FLAGS_DISC_WHEN_DONE)
             {
-                if (btsnd_hcic_create_conn_cancel(bd_addr))
-                    return BTM_CMD_STARTED;
-
-                return BTM_NO_RESOURCES;
+                btsnd_hcic_create_conn_cancel(bd_addr);
+                return BTM_CMD_STARTED;
             }
             if (btm_cb.pairing_state == BTM_PAIR_STATE_GET_REM_NAME)
             {
@@ -1506,11 +1504,9 @@
         status = BTM_SUCCESS;
     }
     /* Tear down the HCI link */
-    else if (!btsnd_hcic_disconnect (conn_handle, reason))
+    else
     {
-         /* could not send disconnect. restore old state */
-         p_dev_rec->sec_state = old_state;
-         status = BTM_NO_RESOURCES;
+        btsnd_hcic_disconnect(conn_handle, reason);
     }
 
     return status;
@@ -1645,7 +1641,7 @@
 {
     /* This API only make sense between PASSKEY_REQ and SP complete */
     if (btm_cb.pairing_state == BTM_PAIR_STATE_KEY_ENTRY)
-        btsnd_hcic_send_keypress_notif (bd_addr, type);
+        btsnd_hcic_send_keypress_notif(bd_addr, type);
 }
 #endif
 
@@ -1693,14 +1689,9 @@
 **                  LM
 **
 *******************************************************************************/
-tBTM_STATUS BTM_ReadLocalOobData(void)
+void BTM_ReadLocalOobData(void)
 {
-    tBTM_STATUS status = BTM_SUCCESS;
-
-    if (btsnd_hcic_read_local_oob_data() == false)
-        status = BTM_NO_RESOURCES;
-
-    return status;
+    btsnd_hcic_read_local_oob_data();
 }
 
 /*******************************************************************************
@@ -4932,8 +4923,7 @@
         /* If it is for bonding nothing else will follow, so we need to start name resolution */
         if (we_are_bonding)
         {
-            if (!(btsnd_hcic_rmt_name_req (p_bda, HCI_PAGE_SCAN_REP_MODE_R1, HCI_MANDATARY_PAGE_SCAN_MODE, 0)))
-                btm_inq_rmt_name_failed();
+            btsnd_hcic_rmt_name_req(p_bda, HCI_PAGE_SCAN_REP_MODE_R1, HCI_MANDATARY_PAGE_SCAN_MODE, 0);
         }
 
         BTM_TRACE_EVENT ("rmt_io_caps:%d, sec_flags:x%x, dev_class[1]:x%02x", p_dev_rec->rmt_io_caps, p_dev_rec->sec_flags, p_dev_rec->dev_class[1])
@@ -5265,22 +5255,9 @@
             /* We received PIN code request for the device with unknown name */
             /* it is not user friendly just to ask for the PIN without name */
             /* try to get name at first */
-            if (!btsnd_hcic_rmt_name_req (p_dev_rec->bd_addr,
-                                          HCI_PAGE_SCAN_REP_MODE_R1,
-                                          HCI_MANDATARY_PAGE_SCAN_MODE, 0))
-            {
-                p_dev_rec->sec_flags |= BTM_SEC_NAME_KNOWN;
-                p_dev_rec->sec_bd_name[0] = 'f';
-                p_dev_rec->sec_bd_name[1] = '0';
-                BTM_TRACE_ERROR ("can not send rmt_name_req?? fake a name and call callback");
-
-                btm_cb.pairing_flags |= BTM_PAIR_FLAGS_PIN_REQD;
-                if (p_cb->api.p_pin_callback)
-                    (*p_cb->api.p_pin_callback) (p_bda, p_dev_rec->dev_class,
-                            p_dev_rec->sec_bd_name, (p_dev_rec->p_cur_service == NULL) ? false
-                                    : (p_dev_rec->p_cur_service->security_flags
-                                       & BTM_SEC_IN_MIN_16_DIGIT_PIN));
-            }
+            btsnd_hcic_rmt_name_req(p_dev_rec->bd_addr,
+                                    HCI_PAGE_SCAN_REP_MODE_R1,
+                                    HCI_MANDATARY_PAGE_SCAN_MODE, 0);
         }
     }
 
@@ -5418,10 +5395,7 @@
 
         BTM_TRACE_EVENT ("Security Manager: Start encryption");
 
-        if (!btm_sec_start_encryption (p_dev_rec))
-        {
-            return(BTM_NO_RESOURCES);
-        }
+        btm_sec_start_encryption(p_dev_rec);
         return(BTM_CMD_STARTED);
     }
 
@@ -5515,16 +5489,11 @@
 **
 ** Description      This function is called to start encryption
 **
-** Returns          true if started
-**
 *******************************************************************************/
-static bool    btm_sec_start_encryption (tBTM_SEC_DEV_REC *p_dev_rec)
+static void btm_sec_start_encryption(tBTM_SEC_DEV_REC *p_dev_rec)
 {
-    if (!btsnd_hcic_set_conn_encrypt (p_dev_rec->hci_handle, true))
-        return(false);
-
+    btsnd_hcic_set_conn_encrypt(p_dev_rec->hci_handle, true);
     p_dev_rec->sec_state = BTM_SEC_STATE_ENCRYPTING;
-    return(true);
 }
 
 /*******************************************************************************
diff --git a/system/stack/include/btm_api.h b/system/stack/include/btm_api.h
index 2171fc9..8ec0949 100644
--- a/system/stack/include/btm_api.h
+++ b/system/stack/include/btm_api.h
@@ -255,12 +255,8 @@
 **
 ** Description      Send HCI Wite Page Timeout.
 **
-** Returns
-**      BTM_SUCCESS         Command sent.
-**      BTM_NO_RESOURCES    If out of resources to send the command.
-**
 *******************************************************************************/
-extern tBTM_STATUS BTM_WritePageTimeout(uint16_t timeout);
+extern void BTM_WritePageTimeout(uint16_t timeout);
 
 /*******************************************************************************
 **
@@ -269,13 +265,8 @@
 ** Description      Send HCI Write Voice Settings command.
 **                  See hcidefs.h for settings bitmask values.
 **
-** Returns
-**      BTM_SUCCESS         Command sent.
-**      BTM_NO_RESOURCES     If out of resources to send the command.
-**
-**
 *******************************************************************************/
-extern tBTM_STATUS BTM_WriteVoiceSettings(uint16_t settings);
+extern void BTM_WriteVoiceSettings(uint16_t settings);
 
 /*******************************************************************************
 **
@@ -1672,7 +1663,7 @@
 **                  LM
 **
 *******************************************************************************/
-extern tBTM_STATUS BTM_ReadLocalOobData(void);
+extern void BTM_ReadLocalOobData(void);
 
 /*******************************************************************************
 **
diff --git a/system/stack/l2cap/l2c_api.c b/system/stack/l2cap/l2c_api.c
index 608250c..3248781 100644
--- a/system/stack/l2cap/l2c_api.c
+++ b/system/stack/l2cap/l2c_api.c
@@ -1510,8 +1510,7 @@
                 L2CAP_TRACE_API ("L2CA_SetFlushTimeout 0x%04x ms for bd_addr [...;%02x%02x%02x]",
                                   flush_tout, bd_addr[3], bd_addr[4], bd_addr[5]);
 
-                if (!btsnd_hcic_write_auto_flush_tout (p_lcb->handle, hci_flush_to))
-                    return (false);
+                btsnd_hcic_write_auto_flush_tout(p_lcb->handle, hci_flush_to);
             }
         }
         else
@@ -1538,8 +1537,7 @@
                                       flush_tout, p_lcb->remote_bd_addr[3],
                                       p_lcb->remote_bd_addr[4], p_lcb->remote_bd_addr[5]);
 
-                    if (!btsnd_hcic_write_auto_flush_tout(p_lcb->handle, hci_flush_to))
-                        return (false);
+                    btsnd_hcic_write_auto_flush_tout(p_lcb->handle, hci_flush_to);
                 }
             }
         }
diff --git a/system/stack/l2cap/l2c_ble.c b/system/stack/l2cap/l2c_ble.c
index 9662e41..cfcd680 100644
--- a/system/stack/l2cap/l2c_ble.c
+++ b/system/stack/l2cap/l2c_ble.c
@@ -72,23 +72,20 @@
         return(false);
     }
 
-    if (btsnd_hcic_ble_create_conn_cancel())
-    {
-        p_lcb = l2cu_find_lcb_by_bd_addr(rem_bda, BT_TRANSPORT_LE);
-        /* Do not remove lcb if an LE link is already up as a peripheral */
-        if (p_lcb != NULL &&
-            !(p_lcb->link_role == HCI_ROLE_SLAVE && btm_bda_to_acl(rem_bda, BT_TRANSPORT_LE) != NULL))
-        {
-            p_lcb->disc_reason = L2CAP_CONN_CANCEL;
-            l2cu_release_lcb (p_lcb);
-        }
-        /* update state to be cancel, wait for connection cancel complete */
-        btm_ble_set_conn_st (BLE_CONN_CANCEL);
+    btsnd_hcic_ble_create_conn_cancel();
 
-        return(true);
+    p_lcb = l2cu_find_lcb_by_bd_addr(rem_bda, BT_TRANSPORT_LE);
+    /* Do not remove lcb if an LE link is already up as a peripheral */
+    if (p_lcb != NULL &&
+        !(p_lcb->link_role == HCI_ROLE_SLAVE && btm_bda_to_acl(rem_bda, BT_TRANSPORT_LE) != NULL))
+    {
+        p_lcb->disc_reason = L2CAP_CONN_CANCEL;
+        l2cu_release_lcb (p_lcb);
     }
-    else
-        return(false);
+    /* update state to be cancel, wait for connection cancel complete */
+    btm_ble_set_conn_st (BLE_CONN_CANCEL);
+
+    return(true);
 }
 
 /*******************************************************************************
@@ -945,12 +942,12 @@
         return false;
     }
 
-    if (!btsnd_hcic_ble_create_ll_conn (scan_int,/* uint16_t scan_int      */
-                                        scan_win, /* uint16_t scan_win      */
-                                        false,                   /* uint8_t white_list     */
-                                        peer_addr_type,          /* uint8_t addr_type_peer */
-                                        peer_addr,               /* BD_ADDR bda_peer     */
-                                        own_addr_type,         /* uint8_t addr_type_own  */
+    btsnd_hcic_ble_create_ll_conn(scan_int,/* uint16_t scan_int      */
+                                  scan_win, /* uint16_t scan_win      */
+                                  false,                   /* uint8_t white_list     */
+                                  peer_addr_type,          /* uint8_t addr_type_peer */
+                                  peer_addr,               /* BD_ADDR bda_peer     */
+                                  own_addr_type,         /* uint8_t addr_type_own  */
         (uint16_t) ((p_dev_rec->conn_params.min_conn_int != BTM_BLE_CONN_PARAM_UNDEF) ?
         p_dev_rec->conn_params.min_conn_int : BTM_BLE_CONN_INT_MIN_DEF),  /* uint16_t conn_int_min  */
         (uint16_t) ((p_dev_rec->conn_params.max_conn_int != BTM_BLE_CONN_PARAM_UNDEF) ?
@@ -959,26 +956,19 @@
         p_dev_rec->conn_params.slave_latency : BTM_BLE_CONN_SLAVE_LATENCY_DEF), /* uint16_t conn_latency  */
         (uint16_t) ((p_dev_rec->conn_params.supervision_tout != BTM_BLE_CONN_PARAM_UNDEF) ?
         p_dev_rec->conn_params.supervision_tout : BTM_BLE_CONN_TIMEOUT_DEF), /* conn_timeout */
-                                        0,                       /* uint16_t min_len       */
-                                        0))                      /* uint16_t max_len       */
-    {
-        l2cu_release_lcb (p_lcb);
-        L2CAP_TRACE_ERROR("initate direct connection fail, no resources");
-        return (false);
-    }
-    else
-    {
-        p_lcb->link_state = LST_CONNECTING;
-        l2cb.is_ble_connecting = true;
-        memcpy (l2cb.ble_connecting_bda, p_lcb->remote_bd_addr, BD_ADDR_LEN);
-        alarm_set_on_queue(p_lcb->l2c_lcb_timer,
-                           L2CAP_BLE_LINK_CONNECT_TIMEOUT_MS,
-                           l2c_lcb_timer_timeout, p_lcb,
-                           btu_general_alarm_queue);
-        btm_ble_set_conn_st (BLE_DIR_CONN);
+                                  0,                       /* uint16_t min_len       */
+                                  0);                      /* uint16_t max_len       */
 
-        return (true);
-    }
+    p_lcb->link_state = LST_CONNECTING;
+    l2cb.is_ble_connecting = true;
+    memcpy (l2cb.ble_connecting_bda, p_lcb->remote_bd_addr, BD_ADDR_LEN);
+    alarm_set_on_queue(p_lcb->l2c_lcb_timer,
+                       L2CAP_BLE_LINK_CONNECT_TIMEOUT_MS,
+                       l2c_lcb_timer_timeout, p_lcb,
+                       btu_general_alarm_queue);
+    btm_ble_set_conn_st (BLE_DIR_CONN);
+
+    return (true);
 }
 
 /*******************************************************************************
diff --git a/system/stack/l2cap/l2c_csm.c b/system/stack/l2cap/l2c_csm.c
index ea53827..778d585 100644
--- a/system/stack/l2cap/l2c_csm.c
+++ b/system/stack/l2cap/l2c_csm.c
@@ -547,13 +547,7 @@
 
     case L2CEVT_TIMEOUT:
         /* SM4 related. */
-        if (!btsnd_hcic_disconnect (p_ccb->p_lcb->handle, HCI_ERR_AUTH_FAILURE))
-        {
-            L2CAP_TRACE_API ("L2CAP - Calling btsnd_hcic_disconnect for handle %i failed", p_ccb->p_lcb->handle);
-            alarm_set_on_queue(p_ccb->l2c_ccb_timer, BT_1SEC_TIMEOUT_MS,
-                               l2c_ccb_timer_timeout, p_ccb,
-                               btu_general_alarm_queue);
-        }
+        btsnd_hcic_disconnect(p_ccb->p_lcb->handle, HCI_ERR_AUTH_FAILURE);
         break;
 
     case L2CEVT_SEC_RE_SEND_CMD:                    /* BTM has enough info to proceed */
diff --git a/system/stack/l2cap/l2c_utils.c b/system/stack/l2cap/l2c_utils.c
index 674565d..d5f757f 100644
--- a/system/stack/l2cap/l2c_utils.c
+++ b/system/stack/l2cap/l2c_utils.c
@@ -1645,12 +1645,9 @@
         period_ms_t timeout_ms = L2CAP_BONDING_TIMEOUT * 1000;
 
         if (p_lcb->idle_timeout == 0) {
-            if (btsnd_hcic_disconnect (p_lcb->handle, HCI_ERR_PEER_USER)) {
-                p_lcb->link_state = LST_DISCONNECTING;
-                timeout_ms = L2CAP_LINK_DISCONNECT_TIMEOUT_MS;
-            } else {
-                timeout_ms = BT_1SEC_TIMEOUT_MS;
-            }
+            btsnd_hcic_disconnect (p_lcb->handle, HCI_ERR_PEER_USER);
+            p_lcb->link_state = LST_DISCONNECTING;
+            timeout_ms = L2CAP_LINK_DISCONNECT_TIMEOUT_MS;
         }
         alarm_set_on_queue(p_lcb->l2c_lcb_timer, timeout_ms,
                            l2c_lcb_timer_timeout, p_lcb,
@@ -2433,20 +2430,14 @@
         clock_offset = (p_dev_rec) ? p_dev_rec->clock_offset : 0;
     }
 
-    if (!btsnd_hcic_create_conn (p_lcb->remote_bd_addr,
-                                 ( HCI_PKT_TYPES_MASK_DM1 | HCI_PKT_TYPES_MASK_DH1
-                                 | HCI_PKT_TYPES_MASK_DM3 | HCI_PKT_TYPES_MASK_DH3
-                                 | HCI_PKT_TYPES_MASK_DM5 | HCI_PKT_TYPES_MASK_DH5 ),
-                                 page_scan_rep_mode,
-                                 page_scan_mode,
-                                 clock_offset,
-                                 allow_switch))
-
-    {
-        L2CAP_TRACE_ERROR ("L2CAP - no buffer for l2cu_create_conn");
-        l2cu_release_lcb (p_lcb);
-        return (false);
-    }
+    btsnd_hcic_create_conn(p_lcb->remote_bd_addr,
+                           ( HCI_PKT_TYPES_MASK_DM1 | HCI_PKT_TYPES_MASK_DH1
+                           | HCI_PKT_TYPES_MASK_DM3 | HCI_PKT_TYPES_MASK_DH3
+                           | HCI_PKT_TYPES_MASK_DM5 | HCI_PKT_TYPES_MASK_DH5 ),
+                           page_scan_rep_mode,
+                           page_scan_mode,
+                           clock_offset,
+                           allow_switch);
 
     btm_acl_update_busy_level (BTM_BLI_PAGE_EVT);
 
diff --git a/system/stack/smp/smp_keys.c b/system/stack/smp/smp_keys.c
index 01e7406..7087bc9 100644
--- a/system/stack/smp/smp_keys.c
+++ b/system/stack/smp/smp_keys.c
@@ -189,8 +189,7 @@
     p_cb->rand_enc_proc_state = SMP_GEN_TK;
 
     /* generate MRand or SRand */
-    if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-        smp_rand_back(NULL);
+    btsnd_hcic_ble_rand((void *)smp_rand_back);
 }
 
 /*******************************************************************************
@@ -295,8 +294,7 @@
     SMP_TRACE_DEBUG ("%s", __func__);
     p_cb->rand_enc_proc_state = SMP_GEN_SRAND_MRAND;
     /* generate MRand or SRand */
-    if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-        smp_rand_back(NULL);
+    btsnd_hcic_ble_rand((void *)smp_rand_back);
 }
 
 /*******************************************************************************
@@ -316,8 +314,7 @@
     SMP_TRACE_DEBUG ("%s", __func__);
     p_cb->rand_enc_proc_state = SMP_GEN_SRAND_MRAND_CONT;
     /* generate 64 MSB of MRand or SRand */
-    if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-        smp_rand_back(NULL);
+    btsnd_hcic_ble_rand((void *)smp_rand_back);
 }
 
 /*******************************************************************************
@@ -363,8 +360,7 @@
         SMP_TRACE_DEBUG ("Generate DIV for LTK");
         p_cb->rand_enc_proc_state = SMP_GEN_DIV_LTK;
         /* generate MRand or SRand */
-        if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-            smp_rand_back(NULL);
+        btsnd_hcic_ble_rand((void *)smp_rand_back);
     }
 }
 
@@ -442,8 +438,7 @@
     {
         SMP_TRACE_DEBUG ("Generate DIV for CSRK");
         p_cb->rand_enc_proc_state = SMP_GEN_DIV_CSRK;
-        if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-            smp_rand_back(NULL);
+        btsnd_hcic_ble_rand((void *)smp_rand_back);
     }
 }
 
@@ -880,8 +875,7 @@
     /* generate random vector */
     SMP_TRACE_DEBUG ("smp_generate_rand_vector ");
     p_cb->rand_enc_proc_state = SMP_GEN_RAND_V;
-    if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-        smp_rand_back(NULL);
+    btsnd_hcic_ble_rand((void *)smp_rand_back);
 }
 
 /*******************************************************************************
@@ -965,8 +959,7 @@
 {
     SMP_TRACE_DEBUG ("%s",__func__);
     p_cb->rand_enc_proc_state = SMP_GENERATE_PRIVATE_KEY_0_7;
-    if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-        smp_rand_back(NULL);
+    btsnd_hcic_ble_rand((void *)smp_rand_back);
 }
 
 /*******************************************************************************
@@ -1025,22 +1018,19 @@
         case SMP_GENERATE_PRIVATE_KEY_0_7:
             memcpy((void *)p_cb->private_key, p->param_buf, p->param_len);
             p_cb->rand_enc_proc_state = SMP_GENERATE_PRIVATE_KEY_8_15;
-            if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-                smp_rand_back(NULL);
+            btsnd_hcic_ble_rand((void *)smp_rand_back);
             break;
 
         case SMP_GENERATE_PRIVATE_KEY_8_15:
             memcpy((void *)&p_cb->private_key[8], p->param_buf, p->param_len);
             p_cb->rand_enc_proc_state = SMP_GENERATE_PRIVATE_KEY_16_23;
-            if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-                smp_rand_back(NULL);
+            btsnd_hcic_ble_rand((void *)smp_rand_back);
             break;
 
         case SMP_GENERATE_PRIVATE_KEY_16_23:
             memcpy((void *)&p_cb->private_key[16], p->param_buf, p->param_len);
             p_cb->rand_enc_proc_state = SMP_GENERATE_PRIVATE_KEY_24_31;
-            if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-                smp_rand_back(NULL);
+            btsnd_hcic_ble_rand((void *)smp_rand_back);
             break;
 
         case SMP_GENERATE_PRIVATE_KEY_24_31:
@@ -2155,8 +2145,7 @@
 {
     SMP_TRACE_DEBUG("%s", __func__);
     p_cb->rand_enc_proc_state = SMP_GEN_NONCE_0_7;
-    if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-        smp_rand_back(NULL);
+    btsnd_hcic_ble_rand((void *)smp_rand_back);
 }
 
 /*******************************************************************************
@@ -2172,8 +2161,7 @@
 {
     SMP_TRACE_DEBUG("%s", __func__);
     p_cb->rand_enc_proc_state = SMP_GEN_NONCE_8_15;
-    if (!btsnd_hcic_ble_rand((void *)smp_rand_back))
-        smp_rand_back(NULL);
+    btsnd_hcic_ble_rand((void *)smp_rand_back);
 }
 
 /*******************************************************************************