diff options
author | Gustavo F. Padovan <gustavo@las.ic.unicamp.br> | 2009-10-03 01:34:40 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-12-03 13:34:24 -0500 |
commit | 2ab25cdd7b54473dd42dcffc9872737de2517466 (patch) | |
tree | 0410dece8d1da3238bdc006e1909237f4a714e1f /net | |
parent | 4ec10d9720ef78cd81d8bcc30a3238665744569f (diff) |
Bluetooth: Fix 'SendRRorRNR' to send the ReqSeq value
SendRRorRNR needs to acknowledge received I-frames (actually every packet
needs to acknowledge received I-frames by sending the proper packet
sequence number), so ReqSeq is set to the next I-frame number sequence to
be pulled by the reassembly function.
SendRRorRNR tells the remote side about local busy conditions, it sends
a Receiver Ready frame if local busy is false or a Receiver Not Ready
if local busy is true.
ReqSeq is the packet's field to send the number of the acknowledged
packets.
Signed-off-by: Gustavo F. Padovan <gustavo@las.ic.unicamp.br>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/bluetooth/l2cap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index 73bda0ae41d6..c898f3439d1c 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c | |||
@@ -373,6 +373,8 @@ static inline int l2cap_send_rr_or_rnr(struct l2cap_pinfo *pi, u16 control) | |||
373 | else | 373 | else |
374 | control |= L2CAP_SUPER_RCV_READY; | 374 | control |= L2CAP_SUPER_RCV_READY; |
375 | 375 | ||
376 | control |= pi->buffer_seq << L2CAP_CTRL_REQSEQ_SHIFT; | ||
377 | |||
376 | return l2cap_send_sframe(pi, control); | 378 | return l2cap_send_sframe(pi, control); |
377 | } | 379 | } |
378 | 380 | ||