zephyr/include/bluetooth
Joakim Andersson 8a32c2d967 Bluetooth: host: Fix disconnect priority event handling
Fix issue is host handling of connected and disconnected event.
Since the host wants the disconnected event to be processed as a
priority event as well as in reguler event context while the connected
event is always in reguler event context we can end up in a situation
where the disconnected priority event is processed before the connected
event.

Since the disconnected priority event is there to release unack'ed TX
pending on the connection in case the RX thread is blocked waiting
for TX resources, we need to keep this behavior. Otherwise this would
be a potential deadlock of the RX thread waiting for resources that can
only be released by the RX thread.
When this situation happens we know that there cannot be any pending TX
on this connection so we can safely skip releasing of unack'ed TX.

The second thing the disconnected priority event does is marking the TX
path on the connection as disconnected. We need to do the same in this
situation, so we make sure that the TX path is already marked
disconnected when providing the connected callback to the application.

This fixes a regression from 4be66bd33d.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-05-25 20:30:48 +03:00
..
audio Bluetooth: Audio: Volume Control Service and client 2021-05-07 15:02:41 +02:00
mesh Bluetooth: Mesh: Rework publication timer 2021-04-15 20:31:44 +02:00
services Bluetooth: services: Adds OTS name length checks 2021-04-22 11:32:25 +02:00
a2dp-codec.h license: add missing SPDX headers 2021-02-11 08:05:16 -05:00
a2dp.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
addr.h Bluetooth: host: Fix doxygen in addr header 2021-02-02 08:46:17 -05:00
att.h Bluetooth: ATT: Add ATT first/last handle defines 2021-04-08 16:35:57 +02:00
avdtp.h Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
bluetooth.h bluetooth: host: Allow concurrent advertising with multiple ids 2021-05-07 12:15:20 +03:00
buf.h Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
conn.h Bluetooth: host: Add check for already enabled in advertising set start 2021-05-25 19:26:23 +02:00
controller.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
crypto.h Bluetooth: Crypto: Fix naming of params 2021-05-12 12:37:27 +03:00
direction.h Bluetooth: host: Add handl HCI_LE_Connectionless_IQ_Report 2021-05-06 16:27:16 +02:00
gap.h Bluetooth: Host: Adds periodic advertising min/max interval macros 2021-04-23 15:01:32 +02:00
gatt.h Bluetooth: GATT: Add documentation for empty notifications in callback 2021-04-23 15:01:40 +02:00
hci.h Bluetooth: host: Fix disconnect priority event handling 2021-05-25 20:30:48 +03:00
hci_err.h Bluetooth: host: Remove deprecated security defines 2021-01-29 12:53:10 -05:00
hci_raw.h Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
hci_vs.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
hfp_hf.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
iso.h Bluetooth: ISO: Improved text for setting ISO data paths 2021-05-03 11:59:25 +02:00
l2cap.h bluetooth: l2cap: fix doxygen references 2021-05-21 12:17:04 -04:00
mesh.h Bluetooth: Mesh: Introduce acknowledged message API 2021-04-08 13:44:24 +02:00
rfcomm.h Bluetooth: host: Update RFCOMM to new delayable work API 2021-05-05 19:44:09 -04:00
sdp.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
testing.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
uuid.h Bluetooth: Audio: Volume Control Service and client 2021-05-07 15:02:41 +02:00