Skip to content
Permalink
Browse files

Bluetooth: ATT: Fix unbalanced use of k_sem_give

k_sem_give shall only be used if no callback has been set otherwise
k_sem_take was not called which can break the flow control.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  • Loading branch information...
Vudentz authored and jhedberg committed Jun 13, 2019
1 parent ec89ae6 commit a788ce23da96eed2bdf51921b3c283d7a5673d24
Showing with 3 additions and 1 deletion.
  1. +3 −1 subsys/bluetooth/host/att.c
@@ -2267,7 +2267,9 @@ int bt_att_send(struct bt_conn *conn, struct net_buf *buf, bt_conn_tx_cb_t cb,

err = att_send(conn, buf, cb, user_data);
if (err) {
k_sem_give(&att->tx_sem);
if (!cb) {
k_sem_give(&att->tx_sem);
}
return err;
}

0 comments on commit a788ce2

Please sign in to comment.
You can’t perform that action at this time.