mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-02 01:22:25 +00:00
It's common for the rx_queue to be written to in ISR context (by the HCI driver). This means that if there's lots of data coming in from the driver the rx_queue might get empty very rarely. With the current code this means that the rx fiber might end up not yielding to other higher priority runnable fibers for long durations (as long as there's data in the rx_queue). To solve the issue, call fiber_yield() explicitly after each processed buffer from the rx_queue. This way we give other fibers a chance to run even if there's a heavy flow of data from the Bluetooth controller. Change-Id: Ib3dbe6536a62360ad5153ed12eee8489645e4109 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> |
||
---|---|---|
.. | ||
adc | ||
aio | ||
bluetooth | ||
clock_control | ||
console | ||
counter | ||
ethernet | ||
flash | ||
gpio | ||
grove | ||
i2c | ||
ieee802154 | ||
interrupt_controller | ||
ipm | ||
pci | ||
pinmux | ||
pwm | ||
random | ||
rtc | ||
sensor | ||
serial | ||
shared_irq | ||
spi | ||
timer | ||
watchdog | ||
Kconfig | ||
Makefile |