From fb3317b7a1a91122bc2d288cd9c700fa5e7e55fb Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Thu, 9 Feb 2017 22:25:56 +0100 Subject: [PATCH] Bluetooth: Fix not clearing signaled flag for conn_change signal From k_poll_signal_init() documentation: The poll signal contains a 'signaled' field that, when set by k_poll_signal(), stays set until the user sets it back to 0. It thus has to be reset by the user before being passed again to k_poll() or k_poll() will consider it being signaled, and will return immediately. Change-Id: I55daac92dd6293ac653fd7fa0f907b0b7fd99d65 Signed-off-by: Szymon Janc --- subsys/bluetooth/host/conn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/subsys/bluetooth/host/conn.c b/subsys/bluetooth/host/conn.c index d3011b87b65..b2f922f2e3e 100644 --- a/subsys/bluetooth/host/conn.c +++ b/subsys/bluetooth/host/conn.c @@ -1026,6 +1026,7 @@ int bt_conn_prepare_events(struct k_poll_event events[]) BT_DBG(""); + conn_change.signaled = 0; k_poll_event_init(&events[ev_count++], K_POLL_TYPE_SIGNAL, K_POLL_MODE_NOTIFY_ONLY, &conn_change);