From: Szymon Janc Date: Tue, 7 Feb 2012 14:43:02 +0000 (+0100) Subject: Bluetooth: Fix double acking I-Frames when sending pending I-Frames X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=930fa4aee934ad59ed82163cdbee4922b883ef79;p=openwrt%2Fstaging%2Fblogic.git Bluetooth: Fix double acking I-Frames when sending pending I-Frames Pending I-Frame(s) are considered as acknowledgement. To void double acking (via I-Frame and later via RR) clear ack timer when sending first pending I-Frame. Signed-off-by: Szymon Janc Signed-off-by: Luiz Augusto von Dentz Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg --- diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 9add85271658..8efac7884ffb 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -1455,7 +1455,9 @@ static int l2cap_ertm_send(struct l2cap_chan *chan) if (bt_cb(skb)->retries == 1) { chan->unacked_frames++; - nsent++; + + if (!nsent++) + __clear_ack_timer(chan); } chan->frames_sent++;