]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: Fix sending ReqSeq on I-frames
authorGustavo F. Padovan <gustavo@las.ic.unicamp.br>
Sat, 3 Oct 2009 05:34:38 +0000 (02:34 -0300)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 3 Dec 2009 18:34:23 +0000 (19:34 +0100)
commit5c44587f7e67c2c177c181587e8d8001dbcdc904
tree8e01df10e3e640c0f76b4c3f380db351543900bb
parent3ec965354fbc64107eaf3ca83c368aae9b0c4ea6
Bluetooth: Fix sending ReqSeq on I-frames

As specified by ERTM spec an ERTM channel can acknowledge received
I-frames(the data frames) by sending an I-frame with the proper ReqSeq
value (i.e. ReqSeq is set to BufferSeq).  Until now we aren't setting the
ReqSeq value on I-frame control bits. That way we can save sending
S-frames(Supervise frames) only to acknowledge receipt of I-frames. It
is very helpful to the full-duplex channel.
ReqSeq is the packet sequence number sent in an acknowledgement frame to
acknowledge receipt of frames up to (ReqSeq - 1).
BufferSeq controls the receiver buffer, it is used to delay
acknowledgement of new frames to not cause buffer overflow. BufferSeq
value is not increased until frames are pulled by reassembly function.

Signed-off-by: Gustavo F. Padovan <gustavo@las.ic.unicamp.br>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/l2cap.h
net/bluetooth/l2cap.c