Repository: incubator-mynewt-core
Updated Branches:
  refs/heads/bluetooth5 2446dcb64 -> e84df52dd


nimble/controller: Fix applying PHY update

New m_to_s and s_to_m PHYs shall be applied before converting them to
bitmasks. This works now only because bitmasks for 1M and 2M are the
same as numeric values, but won't work for Coded.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/dfeee7b4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/dfeee7b4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/dfeee7b4

Branch: refs/heads/bluetooth5
Commit: dfeee7b49b50aac54f455e84390b7f5bd0abe888
Parents: 502fbb7
Author: Andrzej Kaczmarek <[email protected]>
Authored: Tue May 9 15:21:17 2017 +0200
Committer: Andrzej Kaczmarek <[email protected]>
Committed: Wed May 17 11:55:28 2017 +0200

----------------------------------------------------------------------
 net/nimble/controller/src/ble_ll_ctrl.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/dfeee7b4/net/nimble/controller/src/ble_ll_ctrl.c
----------------------------------------------------------------------
diff --git a/net/nimble/controller/src/ble_ll_ctrl.c 
b/net/nimble/controller/src/ble_ll_ctrl.c
index dcd72bd..b38a457 100644
--- a/net/nimble/controller/src/ble_ll_ctrl.c
+++ b/net/nimble/controller/src/ble_ll_ctrl.c
@@ -625,13 +625,13 @@ ble_ll_ctrl_phy_update_ind_make(struct ble_ll_conn_sm 
*connsm, uint8_t *dptr,
         connsm->phy_instant = instant;
         CONN_F_PHY_UPDATE_SCHED(connsm) = 1;
 
-        /* Convert m_to_s and s_to_m to masks */
-        m_to_s = 1 << (m_to_s - 1);
-        s_to_m = 1 << (s_to_m - 1);
-
         /* Set new phys to use when instant occurs */
         connsm->phy_data.new_tx_phy = m_to_s;
         connsm->phy_data.new_rx_phy = s_to_m;
+
+        /* Convert m_to_s and s_to_m to masks */
+        m_to_s = 1 << (m_to_s - 1);
+        s_to_m = 1 << (s_to_m - 1);
     }
 
     ctrdata[0] = m_to_s;

Reply via email to