提交 2ece3684 编写于 作者: G Gustavo F. Padovan 提交者: Marcel Holtmann

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: NGustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
上级 7fe9b298
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册