diff options
author | Martin Townsend | 2014-10-13 19:24:45 +0100 |
---|---|---|
committer | Marcel Holtmann | 2014-10-25 07:56:25 +0200 |
commit | ee93053d569b8b56e09a278fc9c41b7adf070a96 (patch) | |
tree | 8ad25c2d3298ca0d46cde38cf15bb4989fe6f352 /net/bluetooth | |
parent | 11e3ff7072789ad4585870cbdde1be10c45f1cc4 (diff) |
Bluetooth: Fix missing channel unlock in l2cap_le_credits
In the error case where credits is greater than max_credits there
is a missing l2cap_chan_unlock before returning.
Signed-off-by: Martin Townsend <mtownsend1973@gmail.com>
Tested-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/l2cap_core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 2ff5591bee97..d46c5127f6c3 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -5492,6 +5492,7 @@ static inline int l2cap_le_credits(struct l2cap_conn *conn, if (credits > max_credits) { BT_ERR("LE credits overflow"); l2cap_send_disconn_req(chan, ECONNRESET); + l2cap_chan_unlock(chan); /* Return 0 so that we don't trigger an unnecessary * command reject packet. |