Merge pull request #468 from rymanluk/scan_rsp_fix
nimble/controller: Fix for setting legacy scan response
diff --git a/net/nimble/controller/src/ble_ll_adv.c b/net/nimble/controller/src/ble_ll_adv.c
index dc7d0db..33fb6dd 100644
--- a/net/nimble/controller/src/ble_ll_adv.c
+++ b/net/nimble/controller/src/ble_ll_adv.c
@@ -2948,6 +2948,10 @@
/* Initialize advertising tx done event */
advsm->adv_txdone_ev.ev_cb = ble_ll_adv_event_done;
advsm->adv_txdone_ev.ev_arg = advsm;
+
+ /*XXX Configure instances to be legacy on start */
+ advsm->props |= BLE_HCI_LE_SET_EXT_ADV_PROP_SCANNABLE;
+ advsm->props |= BLE_HCI_LE_SET_EXT_ADV_PROP_LEGACY;
}
/**
diff --git a/net/nimble/controller/src/ble_ll_conn.c b/net/nimble/controller/src/ble_ll_conn.c
index 53b9487..2335a59 100644
--- a/net/nimble/controller/src/ble_ll_conn.c
+++ b/net/nimble/controller/src/ble_ll_conn.c
@@ -1742,25 +1742,6 @@
ble_ll_pdu_max_tx_octets_get(usecs, BLE_PHY_MODE_CODED_500KBPS);
}
-#if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_EXT_ADV)
-
-void
-ble_ll_conn_ext_master_init(struct ble_ll_conn_sm *connsm,
- struct hci_ext_create_conn *hcc)
-{
-
- ble_ll_conn_master_common_init(connsm);
-
- /* Set own address type and peer address if needed */
- connsm->own_addr_type = hcc->own_addr_type;
- if (hcc->filter_policy == 0) {
- memcpy(&connsm->peer_addr, &hcc->peer_addr, BLE_DEV_ADDR_LEN);
- connsm->peer_addr_type = hcc->peer_addr_type;
- }
-
- connsm->initial_params = *hcc;
-}
-
#if (BLE_LL_BT5_PHY_SUPPORTED == 1)
static void
@@ -1814,6 +1795,25 @@
#endif
+#if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_EXT_ADV)
+
+void
+ble_ll_conn_ext_master_init(struct ble_ll_conn_sm *connsm,
+ struct hci_ext_create_conn *hcc)
+{
+
+ ble_ll_conn_master_common_init(connsm);
+
+ /* Set own address type and peer address if needed */
+ connsm->own_addr_type = hcc->own_addr_type;
+ if (hcc->filter_policy == 0) {
+ memcpy(&connsm->peer_addr, &hcc->peer_addr, BLE_DEV_ADDR_LEN);
+ connsm->peer_addr_type = hcc->peer_addr_type;
+ }
+
+ connsm->initial_params = *hcc;
+}
+
void
ble_ll_conn_ext_set_params(struct ble_ll_conn_sm *connsm,
struct hci_ext_conn_params *hcc_params, int phy)