zephyr/drivers/bluetooth
Jordan Yates 607efa8edd Bluetooth: hci: spi: don't block on IRQ line
Don't wait for the IRQ line to be de-asserted in `bt_spi_send`. As this
function can be called by the RX processing thread, the previous
behaviour could cause deadlocks under heavy load:
 * SPI RX thread starts blocking on `bt_buf_get_evt` due to load
 * BT controller generates another event, asserting the IRQ line
 * RX processing thread calls `bt_spi_send` in reponse to event
 * RX processing thread blocks forever on the removed condition

There is no need to attempt to rate-limit how often `bt_spi_send` is
called to allow the RX thread to run. If the bus is so congested that
there is no remaining capacity, prioritising RX over TX is not going to
improve the situation.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-06-17 07:37:59 -04:00
..
hci Bluetooth: hci: spi: don't block on IRQ line 2023-06-17 07:37:59 -04:00
CMakeLists.txt
Kconfig
util.h