diff options
author | Qiqi Zhang <[email protected]> | 2023-04-04 10:27:11 +0800 |
---|---|---|
committer | Luiz Augusto von Dentz <[email protected]> | 2023-04-23 22:00:04 -0700 |
commit | 3c0d41f141c97e516d986f0571b0d7a745a4e2a8 (patch) | |
tree | 115ce9d4ff759db3f134a048fd522646ad697af9 /lib/test_fortify/write_overflow-strncpy-src.c | |
parent | 288c90224eec55d13e786844b7954ef060752089 (diff) |
Bluetooth: hci_h5: Complements reliable packet processing logic
As shown in the schematic diagram below.There may be a critical
scenario in the current code. If the device does not receive an
pure ack sent by the host due to insufficient receive buffer or
other reasons and triggers a retransmission, the host will always
be in an 'out-of-order' state.The state machine will get stuck.
host device
SEQ3,ACK4 --------->
<--------- SEQ4,ACK4
pure ACK ---------> (not received)
(out-of-order) <--------- SEQ4,ACK4(retransmission)
........
(out-of-order) <--------- SEQ4,ACK4(retransmission)
According to the description in the core specification: "whenever
a reliable packet is received, an acknowledgment shall be generated."
So set H5_TX_ACK_REQ bit to trigger retransmission of pure ack packet
when "out-of-order" occurs.
Signed-off-by: Qiqi Zhang <[email protected]>
Signed-off-by: Luiz Augusto von Dentz <[email protected]>
Diffstat (limited to 'lib/test_fortify/write_overflow-strncpy-src.c')
0 files changed, 0 insertions, 0 deletions