diff options
author | Szymon Janc <szymon.janc@tieto.com> | 2012-01-11 10:59:49 +0100 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-02-13 17:01:26 +0200 |
commit | 09bfb2ee52a66845bbefad0b6eaeae1b5adea949 (patch) | |
tree | 5890823d08a054114bbbfc750425b279b1cefef5 /net/bluetooth/l2cap_core.c | |
parent | 77f918bc7babb8473933ca0a6deefc64fe24b06c (diff) | |
download | lwn-09bfb2ee52a66845bbefad0b6eaeae1b5adea949.tar.gz lwn-09bfb2ee52a66845bbefad0b6eaeae1b5adea949.zip |
Bluetooth: Drop L2CAP chan reference if ERTM ack_timer fired
Reference counter was incremented when starting ack timer but
decremented only when clearing timer, not when timer fired.
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth/l2cap_core.c')
-rw-r--r-- | net/bluetooth/l2cap_core.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 778ceb2b8402..6773453927ef 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -1996,6 +1996,8 @@ static void l2cap_ack_timeout(struct work_struct *work) lock_sock(chan->sk); __l2cap_send_ack(chan); release_sock(chan->sk); + + l2cap_chan_put(chan); } static inline void l2cap_ertm_init(struct l2cap_chan *chan) |