summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorGustavo F. Padovan <gustavo@las.ic.unicamp.br>2009-10-03 02:34:40 -0300
committerMarcel Holtmann <marcel@holtmann.org>2009-12-03 19:34:24 +0100
commit2ab25cdd7b54473dd42dcffc9872737de2517466 (patch)
tree0410dece8d1da3238bdc006e1909237f4a714e1f /net
parent4ec10d9720ef78cd81d8bcc30a3238665744569f (diff)
downloadlinux-stable-2ab25cdd7b54473dd42dcffc9872737de2517466.tar.gz
linux-stable-2ab25cdd7b54473dd42dcffc9872737de2517466.tar.bz2
linux-stable-2ab25cdd7b54473dd42dcffc9872737de2517466.zip
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.c2
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)
else
control |= L2CAP_SUPER_RCV_READY;
+ control |= pi->buffer_seq << L2CAP_CTRL_REQSEQ_SHIFT;
+
return l2cap_send_sframe(pi, control);
}