Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ece3684 authored by Gustavo Padovan's avatar Gustavo Padovan Committed by Marcel Holtmann
Browse files

Bluetooth: Update buffer_seq before retransmit frames



Updating buffer_seq first make us able to ack the last I-frame received.
This is also a requirement of the  Profile Tuning Suite software.

Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 7fe9b298
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -3931,6 +3931,10 @@ static inline int l2cap_data_channel_iframe(struct sock *sk, u16 rx_control, str
		return 0;
	}

	err = l2cap_push_rx_skb(sk, skb, rx_control);
	if (err < 0)
		return 0;

	if (rx_control & L2CAP_CTRL_FINAL) {
		if (pi->conn_state & L2CAP_CONN_REJ_ACT)
			pi->conn_state &= ~L2CAP_CONN_REJ_ACT;
@@ -3938,10 +3942,6 @@ static inline int l2cap_data_channel_iframe(struct sock *sk, u16 rx_control, str
			l2cap_retransmit_frames(sk);
	}

	err = l2cap_push_rx_skb(sk, skb, rx_control);
	if (err < 0)
		return 0;

	__mod_ack_timer();

	pi->num_acked = (pi->num_acked + 1) % num_to_ack;