zephyr/subsys/bluetooth/host
Jonathan Rico 7093538c42 Bluetooth: att: don't re-use the ATT buffer for confirmations
If the peer is a zephyr host, there is no problem, as the Zephyr
host limits sending parallel REQs and INDs.

But the spec allows sending those in parallel, and it may end up that
the re-used REQ buffer hasn't been destroyed when an indication comes.

Only re-use the buffer when enqueuing ATT responses.

This means that we may run out of buffers if the peer sends too many
indications and our application also sends a lot of commands/notifications.

The rationale for this is that having to handle a lot of requests is a
more plausible scenario (e.g. being discovered by multiple peers) than
handling lots of parallel indications.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-09-28 14:21:27 +03:00
..
a2dp_internal.h
a2dp.c
addr_internal.h
addr.c
adv.c bluetooth: fixes shadow variables 2023-08-17 13:00:09 +02:00
adv.h
aes_ccm.c
at.c
at.h
att_internal.h
att.c Bluetooth: att: don't re-use the ATT buffer for confirmations 2023-09-28 14:21:27 +03:00
avdtp_internal.h
avdtp.c Bluetooth: Host: Pass pointer to server in L2CAP accept() callback 2023-09-14 14:36:34 +02:00
br.c bluetooth: fixes shadow variables 2023-08-17 13:00:09 +02:00
br.h
buf.c Bluetooth: att: re-use REQ buf for RSP 2023-08-04 15:06:05 +02:00
CMakeLists.txt
conn_internal.h Bluetooth: att: re-use REQ buf for RSP 2023-08-04 15:06:05 +02:00
conn.c Bluetooth: Host: Add additional logging for bt_conn_exists_le 2023-09-14 14:36:09 +02:00
crypto.c
crypto.h
data.c
direction_internal.h
direction.c
ecc.c bluetooth: fixes shadow variables 2023-08-17 13:00:09 +02:00
ecc.h bluetooth: fixes shadow variables 2023-08-17 13:00:09 +02:00
gatt_internal.h
gatt.c Revert "Bluetooth: Host: Fix GATT server handling of CCC" 2023-09-28 09:21:57 +02:00
hci_common.c
hci_core.c Bluetooth: Host: Use memcpy instad of strncpy in bt_set_name 2023-09-27 15:48:25 +02:00
hci_core.h
hci_ecc.c
hci_ecc.h
hci_raw_internal.h
hci_raw.c
hfp_hf.c
hfp_internal.h
id.c Bluetooth: adv: add USE_NRPA advertising option 2023-07-25 10:47:37 +02:00
id.h
iso_internal.h
iso.c Bluetooth: ISO: Fix issue with bt_iso_cig_reconfigure 2023-09-28 13:12:19 +02:00
Kconfig Bluetooth: host: document settings backend requirement 2023-09-26 08:39:09 +02:00
Kconfig.gatt
Kconfig.l2cap
keys_br.c
keys.c
keys.h
l2cap_br.c Bluetooth: Host: Pass pointer to server in L2CAP accept() callback 2023-09-14 14:36:34 +02:00
l2cap_internal.h
l2cap.c Bluetooth: Host: Pass pointer to server in L2CAP accept() callback 2023-09-14 14:36:34 +02:00
long_wq.c bluetooth: Make long workqueue init priority configurable 2023-09-11 19:57:08 +02:00
long_wq.h
monitor.c
monitor.h
rfcomm_internal.h
rfcomm.c Bluetooth: Host: Pass pointer to server in L2CAP accept() callback 2023-09-14 14:36:34 +02:00
scan.c
scan.h
sdp_internal.h
sdp.c Bluetooth: Host: Pass pointer to server in L2CAP accept() callback 2023-09-14 14:36:34 +02:00
settings.c
settings.h
smp_null.c
smp.c Bluetooth: Host: Fixes SMP issues 2023-09-06 09:35:01 +02:00
smp.h
ssp.c
ssp.h
testing.c
testing.h
uuid.c