zephyr/drivers/bluetooth/hci
Jordan Yates 322d4c1f98 bluetooth: hci: spi: avoid rxmsg re-use
Don't re-use the `rxmsg` buffer in the `bt_spi_send` function. This
buffer is still used by the RX thread after releasing the SPI semaphore.
The current re-use can result in buffer corruption if the RX thread is
swapped out as a result of the `k_sem_give`.

Moving the semaphore release later can result in deadlocks due to
buffer allocation being performed while holding the semaphore, so
instead just eliminate the re-use entirely.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-23 18:19:58 +02:00
..
CMakeLists.txt drivers: bluetooth: rpmsg: implement .close() 2023-09-29 13:53:13 +02:00
cyw43xxx.c drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
h4.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
h5.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
hci_b91.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
hci_esp32.c soc: xtensa,riscv: esp32xx: refactor folder structure 2023-07-25 18:12:33 +02:00
hci_psoc6_bless.c include: always use <> for Zephyr includes 2023-09-14 13:49:58 +02:00
ipm_stm32wb.c Bluetooth: Use bt_addr_eq 2023-05-09 09:23:52 +02:00
Kconfig bluetooth: hci: enable backends by default 2023-09-25 16:43:42 +02:00
Kconfig.infineon drivers: bluetooth: Add Infineon Bluetooth driver 2023-05-17 09:59:36 +03:00
nrf53_support.c drivers: bluetooth: rpmsg: implement .close() 2023-09-29 13:53:13 +02:00
rpmsg.c Bluetooth: drivers/rpmsg: Ensure coop prio bt_recv 2023-10-09 19:03:59 +03:00
slz_hci.c drivers: bluetooth: slz_hci: Set Number of Completed Packets threshold 2023-09-12 11:23:14 +02:00
spi.c bluetooth: hci: spi: avoid rxmsg re-use 2023-10-23 18:19:58 +02:00
userchan.c Bluetooth: Userchan: Parse multiple hci packets 2023-08-30 10:18:41 +02:00