aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2010-06-03 15:34:20 -0400
committerMarcel Holtmann <marcel@holtmann.org>2010-07-21 13:39:07 -0400
commit4ea727ef9d507413f15da0de401d8a50b125649a (patch)
tree5a5eb90f1d859dcbe6c79bc8d4b14d3273816641 /net
parent260000896750690b774d4343294ae5cbff1423e5 (diff)
Bluetooth: Fix missing retransmission action with RR(P=1)
The Bluetooth SIG Profile Tuning Suite Software uses the CSA1 spec to run the L2CAP tests. The new 3.0 spec has a missing Retransmit-I-Frames action when the Remote side is Busy. We still start the retransmission timer if Remote is Busy and unacked frames > 0. We do everything we did before this change plus the Retransmission of I-frames. Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi> Reviewed-by: João Paulo Rechi Vita <jprvita@profusion.mobi> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/l2cap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
index 8c9f577dd46d..7c2273732909 100644
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
@@ -3405,8 +3405,8 @@ static inline void l2cap_send_i_or_rr_or_rnr(struct sock *sk)
3405 pi->conn_state &= ~L2CAP_CONN_SEND_FBIT; 3405 pi->conn_state &= ~L2CAP_CONN_SEND_FBIT;
3406 } 3406 }
3407 3407
3408 if (pi->conn_state & L2CAP_CONN_REMOTE_BUSY && pi->unacked_frames > 0) 3408 if (pi->conn_state & L2CAP_CONN_REMOTE_BUSY)
3409 __mod_retrans_timer(); 3409 l2cap_retransmit_frames(sk);
3410 3410
3411 spin_lock_bh(&pi->send_lock); 3411 spin_lock_bh(&pi->send_lock);
3412 l2cap_ertm_send(sk); 3412 l2cap_ertm_send(sk);