[PATCH 0/2] Bluetooth: virtio: improve RX handling

From: Igor Skalkin

Date: Fri Aug 07 2026 - 12:46:40 EST


This series fixes virtio Bluetooth RX buffer sizing, then reworks RX
processing to drain completed buffers directly from the virtqueue
callback and keep the RX ring populated.

Both patches were tested together against real Bluetooth hardware: a
host MediaTek USB controller exposed to a Linux guest through QEMU's
virtio-bt-pci device via HCI_CHANNEL_USER, not a stub or loopback
transport. The guest paired and bonded with a phone, ran SDP over
L2CAP to resolve its services, and exchanged the resulting HCI/ACL
traffic through the resized and reworked RX path with no drops,
crashes, or warnings observed.

The driver object builds with this series, and each patch passes
scripts/checkpatch.pl --strict independently.

Igor Skalkin (2):
Bluetooth: virtio: fix RX buffer size
Bluetooth: virtio: process RX buffers in virtqueue callback

drivers/bluetooth/virtio_bt.c | 139 ++++++++++++++++++++++++++--------
1 file changed, 108 insertions(+), 31 deletions(-)

--
2.53.0