You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2016/11/10 19:32:12 UTC

[03/19] incubator-mynewt-core git commit: MYNEWT-385: Controller not sending connection update complete event

MYNEWT-385: Controller not sending connection update complete event

The nimble controller was not sending the connection update
complete event if the connection was a slave, the host initiated
the connection parameter request and only an anchor point move was
requested. The spec is not perfectly clear but it seems this was a
bug and that the host should always be notified if it initiates
the connection update or connection parameter request.


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/97189e71
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/97189e71
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/97189e71

Branch: refs/heads/develop
Commit: 97189e716b11ab59599a7693e838f9ccf51c071f
Parents: f77bf7f
Author: William San Filippo <wi...@runtime.io>
Authored: Tue Sep 6 14:15:28 2016 -0700
Committer: William San Filippo <wi...@runtime.io>
Committed: Tue Sep 6 14:17:28 2016 -0700

----------------------------------------------------------------------
 net/nimble/controller/src/ble_ll_conn.c | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/97189e71/net/nimble/controller/src/ble_ll_conn.c
----------------------------------------------------------------------
diff --git a/net/nimble/controller/src/ble_ll_conn.c b/net/nimble/controller/src/ble_ll_conn.c
index 38220ea..f8d21cd 100644
--- a/net/nimble/controller/src/ble_ll_conn.c
+++ b/net/nimble/controller/src/ble_ll_conn.c
@@ -1663,6 +1663,8 @@ ble_ll_conn_next_event(struct ble_ll_conn_sm *connsm)
         /* Set flag so we send connection update event */
         upd = &connsm->conn_update_req;
         if ((connsm->conn_role == BLE_LL_CONN_ROLE_MASTER)  ||
+            ((connsm->conn_role == BLE_LL_CONN_ROLE_SLAVE) &&
+             IS_PENDING_CTRL_PROC(connsm, BLE_LL_CTRL_PROC_CONN_PARAM_REQ)) ||
             (connsm->conn_itvl != upd->interval)            ||
             (connsm->slave_latency != upd->latency)         ||
             (connsm->supervision_tmo != upd->timeout)) {