Bluetooth: BCSP fails to ACK re-transmitted frames from the peer
authorDean Jenkins <Dean_Jenkins@mentor.com>
Fri, 23 Sep 2016 17:56:27 +0000 (18:56 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 24 Sep 2016 04:40:24 +0000 (06:40 +0200)
commit37332ddc1470b820bd9d1eb36a2ca6ce1efb209b
treef374b1f2b109ce7dc42e35b2784d52810aa60da5
parent8083ad1cf910dc22d4300213583d9d540853898a
Bluetooth: BCSP fails to ACK re-transmitted frames from the peer

Send an ACK frame with the current txack value in response to
every received reliable frame unless a TX reliable frame is being
sent. This modification allows re-transmitted frames from the remote
peer to be acknowledged rather than ignored. It means that the remote
peer knows which frame number to start re-transmitting from.

Without this modification, the recovery time to a missing frame
from the remote peer was unnecessarily being extended because the
headers of the out of order reliable frames were being discarded rather
than being processed. The frame headers of received frames will
indicate whether the local peer's transmissions have been
acknowledged by the remote peer. Therefore, the local peer may
unnecessarily re-transmit despite the remote peer already indicating
that the frame had been acknowledged in out of order reliable frame.

Signed-off-by: Dean Jenkins <Dean_Jenkins@mentor.com>
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
Signed-off-by: Rajeev Kumar <rajeev_kumar@mentor.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_bcsp.c