Bluetooth: Fix drop of packets with invalid req_seq/tx_seq
We shall not use an unsigned var since we are expecting negatives value there. Using unsigned causes ERTM connection to close due to invalid ReqSeq numbers. Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
0b31c85ce7
commit
f6337c7711
|
@ -3796,7 +3796,7 @@ static inline int l2cap_data_channel_iframe(struct sock *sk, u16 rx_control, str
|
|||
u8 tx_seq = __get_txseq(rx_control);
|
||||
u8 req_seq = __get_reqseq(rx_control);
|
||||
u8 sar = rx_control >> L2CAP_CTRL_SAR_SHIFT;
|
||||
u8 tx_seq_offset, expected_tx_seq_offset;
|
||||
int tx_seq_offset, expected_tx_seq_offset;
|
||||
int num_to_ack = (pi->tx_win/6) + 1;
|
||||
int err = 0;
|
||||
|
||||
|
@ -4081,7 +4081,8 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct sk
|
|||
struct sock *sk;
|
||||
struct l2cap_pinfo *pi;
|
||||
u16 control, len;
|
||||
u8 tx_seq, req_seq, next_tx_seq_offset, req_seq_offset;
|
||||
u8 tx_seq, req_seq;
|
||||
int next_tx_seq_offset, req_seq_offset;
|
||||
|
||||
sk = l2cap_get_chan_by_scid(&conn->chan_list, cid);
|
||||
if (!sk) {
|
||||
|
|
Loading…
Reference in New Issue