diff options
author | Gustavo F. Padovan <gustavo@las.ic.unicamp.br> | 2009-10-03 02:34:40 -0300 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-12-03 19:34:24 +0100 |
commit | 2ab25cdd7b54473dd42dcffc9872737de2517466 (patch) | |
tree | 0410dece8d1da3238bdc006e1909237f4a714e1f /net/bluetooth/l2cap.c | |
parent | 4ec10d9720ef78cd81d8bcc30a3238665744569f (diff) | |
download | kernel_samsung_tuna-2ab25cdd7b54473dd42dcffc9872737de2517466.zip kernel_samsung_tuna-2ab25cdd7b54473dd42dcffc9872737de2517466.tar.gz kernel_samsung_tuna-2ab25cdd7b54473dd42dcffc9872737de2517466.tar.bz2 |
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/bluetooth/l2cap.c')
-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 73bda0a..c898f34 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) else control |= L2CAP_SUPER_RCV_READY; + control |= pi->buffer_seq << L2CAP_CTRL_REQSEQ_SHIFT; + return l2cap_send_sframe(pi, control); } |