Skip to content

Commit

Permalink
Bluetooth: Fix missing retransmission action with RR(P=1)
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Gustavo F. Padovan authored and Marcel Holtmann committed Jul 21, 2010
1 parent 2600008 commit 4ea727e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/bluetooth/l2cap.c
Original file line number Diff line number Diff line change
Expand Up @@ -3405,8 +3405,8 @@ static inline void l2cap_send_i_or_rr_or_rnr(struct sock *sk)
pi->conn_state &= ~L2CAP_CONN_SEND_FBIT;
}

if (pi->conn_state & L2CAP_CONN_REMOTE_BUSY && pi->unacked_frames > 0)
__mod_retrans_timer();
if (pi->conn_state & L2CAP_CONN_REMOTE_BUSY)
l2cap_retransmit_frames(sk);

spin_lock_bh(&pi->send_lock);
l2cap_ertm_send(sk);
Expand Down

0 comments on commit 4ea727e

Please sign in to comment.