zephyr/samples/bluetooth
Gudipudi Ramana Kumar 44ed0c60ba samples: bluetooth: Increase number of buffers for avoiding deadlocks
The central_multilink sample issues various API calls
(in particular because it does some from the bt_workq("BT RX WQ"))
this results in a deadlock since there are not enough
HCI command buffers available, this is causing deadlocks on hardware
that do not support BT_HCI_ACL_FLOW_CONTROL.

Below is the flow where assert is observed:
bt_hci_le_enh_conn_complete() -> bt_conn_connected()
-> connected() callback -> start_scan() -> bt_le_scan_start()
-> set_random_address() -> bt_hci_cmd_send_sync: opcode 0x2005
-> Controller unresponsive, command opcode 0x2005 timeout with err -11

Since the start_scan is called from the callback and BT RX WQ thread,
the command buffers are still not available for the system work queue
to process the hci commands it has to send out for starting the scan.

By adding additional buffers this deadlock can be avoided.

Signed-off-by: Gudipudi Ramana Kumar <ragudipu@silabs.com>
2025-05-05 10:57:33 +02:00
..
bap_broadcast_assistant Bluetooth: BAP: Add a set of suggested intervals to use with BAP 2025-03-11 08:58:51 +01:00
bap_broadcast_sink samples: Bluetooth: BAP: Broadcast sink use new USB stack 2025-04-08 17:36:34 +02:00
bap_broadcast_source samples: Bluetooth: bap_broadcast_source nRF5340 audio dk + nRF21540 FEM 2025-04-07 11:23:11 +02:00
bap_unicast_client Bluetooth: BAP: Add a set of suggested intervals to use with BAP 2025-03-11 08:58:51 +01:00
bap_unicast_server samples: Bluetooth: BAP: Unicast Server: Fix bad valid check 2025-04-11 16:18:23 +02:00
beacon dts: boards: we: add board Ophelia-IV 2025-04-03 13:16:05 +02:00
broadcaster
broadcaster_multiple
bthome_sensor_template
cap_acceptor Revert "Bluetooth: Audio: Use generic count_bits to count bits" 2025-03-18 16:39:47 +01:00
cap_initiator Bluetooth: BAP: Add a set of suggested intervals to use with BAP 2025-03-11 08:58:51 +01:00
ccp_call_control_client samples: Bluetooth: Replace OVERLAY_CONFIG with EXTRA_CONF_FILE 2025-03-26 16:20:36 +01:00
ccp_call_control_server samples: Bluetooth: Replace OVERLAY_CONFIG with EXTRA_CONF_FILE 2025-03-26 16:20:36 +01:00
central tests, samples: update esp32_devkitc board records 2025-04-29 16:48:55 +02:00
central_gatt_write samples: Bluetooth: GATT write commands with connection PHY Update 2025-02-05 08:16:30 +01:00
central_hr Bluetooth: Controller: Fix HCI command buffer allocation failure 2025-02-21 11:30:38 +00:00
central_ht tests/samples: remove ENTROPY_GENERATOR from BT related tests/samples 2024-12-19 17:53:37 +01:00
central_multilink samples: bluetooth: Increase number of buffers for avoiding deadlocks 2025-05-05 10:57:33 +02:00
central_otc
central_past
channel_sounding bluetooth: host: Apply callback changes of CS complete events 2025-04-01 16:26:58 +02:00
direct_adv
direction_finding_central doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
direction_finding_connectionless_rx doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
direction_finding_connectionless_tx doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
direction_finding_peripheral doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
eddystone
encrypted_advertising
extended_adv
handsfree Sample: Bluetooth: HFP_HF: Update the sample 2025-04-03 06:24:32 +02:00
handsfree_ag bluetooth: handsfree: improve the cod print string 2025-04-30 13:59:58 +02:00
hap_ha Bluetooth: BAP: Add a set of suggested intervals to use with BAP 2025-03-11 08:58:51 +01:00
hci_ipc Bluetooth: Controller: Interleaved extended advertising reception 2025-05-02 15:20:30 +02:00
hci_pwr_ctrl
hci_spi Bluetooth: HCI: Use H:4 encoding for buffers 2025-04-29 13:00:33 +02:00
hci_uart Bluetooth: Controller: Interleaved extended advertising reception 2025-05-02 15:20:30 +02:00
hci_uart_3wire Bluetooth: Controller: Interleaved extended advertising reception 2025-05-02 15:20:30 +02:00
hci_uart_async Bluetooth: HCI: Use H:4 encoding for buffers 2025-04-29 13:00:33 +02:00
hci_usb Bluetooth: Remove USB H4 mode support 2025-04-29 13:00:33 +02:00
hci_vs_scan_req
ibeacon
iso_broadcast Bluetooth: ISO: Make setting ISO data explicit 2025-03-19 10:56:57 +01:00
iso_broadcast_benchmark Bluetooth: ISO: Make setting ISO data explicit 2025-03-19 10:56:57 +01:00
iso_central Bluetooth: ISO: Make setting ISO data explicit 2025-03-19 10:56:57 +01:00
iso_connected_benchmark Bluetooth: ISO: Make setting ISO data explicit 2025-03-19 10:56:57 +01:00
iso_peripheral Bluetooth: ISO: Make setting ISO data explicit 2025-03-19 10:56:57 +01:00
iso_receive Bluetooth: ISO: Make setting ISO data explicit 2025-03-19 10:56:57 +01:00
mesh doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
mesh_demo doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
mesh_provisioner doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
mtu_update bluetooth: mtu_update: peripheral: Add NULL check 2025-04-24 11:57:43 +02:00
observer
pbp_public_broadcast_sink bluetooth: hci: ipc: assert when building HCI IPC driver w/o ACL FC 2025-03-08 03:37:16 +01:00
pbp_public_broadcast_source samples: Bluetooth: Support interleaved packing in BIS samples 2025-03-17 16:24:33 +01:00
periodic_adv
periodic_adv_conn samples: Bluetooth: Rename BLE to Bluetooth (LE) where applicable 2025-02-12 12:24:18 +01:00
periodic_adv_rsp
periodic_sync samples: bluetooth: periodic_sync: add option to control led0 2024-12-18 18:15:15 +01:00
periodic_sync_conn samples: Bluetooth: Rename BLE to Bluetooth (LE) where applicable 2025-02-12 12:24:18 +01:00
periodic_sync_rsp
peripheral tests, samples: update esp32_devkitc board records 2025-04-29 16:48:55 +02:00
peripheral_accept_list samples: Bluetooth: Rename BLE to Bluetooth (LE) where applicable 2025-02-12 12:24:18 +01:00
peripheral_csc tests/samples: remove ENTROPY_GENERATOR from BT related tests/samples 2024-12-19 17:53:37 +01:00
peripheral_dis dts: boards: we: add board Ophelia-IV 2025-04-03 13:16:05 +02:00
peripheral_esp
peripheral_gatt_write
peripheral_hids
peripheral_hr dts: boards: we: add board Ophelia-IV 2025-04-03 13:16:05 +02:00
peripheral_ht boards: nxp: add RT1060 EVKC support 2025-01-21 19:27:39 +01:00
peripheral_identity
peripheral_nus dts: boards: we: add board Ophelia-IV 2025-04-03 13:16:05 +02:00
peripheral_ots
peripheral_past
peripheral_sc_only samples: bluetooth: peripheral_sc_only: Fix restarting advertising 2025-01-27 13:26:53 +01:00
scan_adv samples: Bluetooth: Rename BLE to Bluetooth (LE) where applicable 2025-02-12 12:24:18 +01:00
st_ble_sensor samples: Bluetooth: Rename BLE to Bluetooth (LE) where applicable 2025-02-12 12:24:18 +01:00
tmap_bmr samples/bluetooth/tmap_*: Remove native_posix overlays 2025-03-07 19:16:14 +01:00
tmap_bms Bluetooth: BAP: Add a set of suggested intervals to use with BAP 2025-03-11 08:58:51 +01:00
tmap_central Bluetooth: BAP: Add a set of suggested intervals to use with BAP 2025-03-11 08:58:51 +01:00
tmap_peripheral Bluetooth: BAP: Add a set of suggested intervals to use with BAP 2025-03-11 08:58:51 +01:00
bluetooth.rst