zephyr/subsys
Mark Wang 891e457873 bluetooth: classic: Fix remote name resolving with multiple devices
The error occur when discoverying br devices and need to send request_name
for many found devices.
In system work queue task, bt_hci_inquiry_complete->
report_discovery_results is called, then request_name is called for all
the found devices. The controller gives HCI_Remote_Name_Request_Complete
event for every name request result and one buf is allocated from
hci_rx_pool to save HCI_Remote_Name_Request_Complete. When system work
queue task is blocked to call request_name for every device, many
HCI_Remote_Name_Request_Complete are received for the already sent
request_name, it uses up all the buf of hci_rx_pool, then the bt_rx_thread
task is blocked to get buf from hci_rx_pool when next
HCI_Remote_Name_Request_Complete is received, meanwhile the next
request_name send hci cmd and wait the result, but the hci status/complete
event can't be received because the bt_rx_thread is blocked and
bt_uart_isr is kept in the state to receive last
HCI_Remote_Name_Request_Complete, then bt_dev.ncmd_sem is not released,
then the next request_name send hci cmd again, but the bt_dev.ncmd_sem is
invalid, then bt_hci_cmd_send_sync fail and assert.

resolve it by requesting name one by one.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-04-03 17:48:04 +02:00
..
bindesc
bluetooth bluetooth: classic: Fix remote name resolving with multiple devices 2025-04-03 17:48:04 +02:00
canbus
console
dap dap: add DAP backend USB 2025-03-11 18:54:24 +01:00
debug thread_analyzer: Allow to override the auto-analysis thread priority 2025-04-01 11:59:39 +02:00
demand_paging
dfu dfu: Add support for new MCUboot swap using offset mode 2025-02-10 19:05:25 +01:00
disk
dsp
emul
fb cfb: typo fixes 2025-04-02 10:30:50 +02:00
fs fs: update module logging registration 2025-03-27 03:50:22 +01:00
input
ipc ipc_service: ipc_icbmsg: Update backend API return values 2025-03-28 12:21:30 +01:00
jwt
llext llext: optimize allocations for read-only sections 2025-03-21 14:41:30 -04:00
logging logging: frontends: stmesp: Fix sending string location 2025-04-01 16:26:50 +02:00
lorawan lorawan: add callback for descriptor changes 2025-03-07 19:42:56 +01:00
mctp
mem_mgmt
mgmt mcumgr/img_mgmt: Allow erase pending image by default 2025-04-01 22:13:20 +02:00
modbus
modem modem: cmux: Do not return error on low buffer space 2025-03-24 19:33:07 +01:00
net net: shell: iface: Do not print DHCPv6 detail info if disabled 2025-04-02 05:30:32 +02:00
pm
portability portability: cmsis: Clarify Kconfig set max limit on dynamic objects 2025-03-17 02:21:15 +01:00
profiling
random random: Correct Mutex define 2025-03-04 21:55:45 +01:00
retention
rtio rtio: Transactions assume valid next list nodes 2025-03-14 01:02:10 +01:00
sd sd: correct mismatched comment for CONFIG_SDMMC_STACK 2025-03-31 21:59:40 +02:00
secure_storage modules: mbedtls: add promptless CONFIG_MBEDTLS_PSA_CRYPTO_STORAGE_C 2025-03-14 14:51:58 +01:00
sensing
settings settings: fix settings shell subcommand helper 2025-03-29 06:31:39 +01:00
shell shell: kernel: Add a panic command 2025-03-29 07:44:11 -04:00
sip_svc
stats
storage
task_wdt task_wdt: Add suspend and resume API functions 2025-04-02 13:05:14 +02:00
testsuite tests: ztest: enable ztest_no_yield for all in PM 2025-03-25 22:14:20 +01:00
timing
tracing kernel: kheap: decouple simple alloc from aligned_alloc 2025-04-01 22:13:04 +02:00
usb usb: device_next: avoid false error logging in CDC ACM 2025-04-02 10:32:25 +02:00
zbus
CMakeLists.txt
Kconfig