Skip to content

Commit daabd27

Browse files
kirankrishnappa-intelVudentz
authored andcommitted
Bluetooth: btintel_pcie: Fix driver not posting maximum rx buffers
The driver was posting only 6 rx buffers, despite the maximum rx buffers being defined as 16. Having fewer RX buffers caused firmware exceptions in HID use cases when events arrived in bursts. Exception seen on android 6.12 kernel. E Bluetooth: hci0: Received hw exception interrupt E Bluetooth: hci0: Received gp1 mailbox interrupt D Bluetooth: hci0: 00000000: ff 3e 87 80 03 01 01 01 03 01 0c 0d 02 1c 10 0e D Bluetooth: hci0: 00000010: 01 00 05 14 66 b0 28 b0 c0 b0 28 b0 ac af 28 b0 D Bluetooth: hci0: 00000020: 14 f1 28 b0 00 00 00 00 fa 04 00 00 00 00 40 10 D Bluetooth: hci0: 00000030: 08 00 00 00 7a 7a 7a 7a 47 00 fb a0 10 00 00 00 D Bluetooth: hci0: 00000000: 10 01 0a E Bluetooth: hci0: ---- Dump of debug registers — E Bluetooth: hci0: boot stage: 0xe0fb0047 E Bluetooth: hci0: ipc status: 0x00000004 E Bluetooth: hci0: ipc control: 0x00000000 E Bluetooth: hci0: ipc sleep control: 0x00000000 E Bluetooth: hci0: mbox_1: 0x00badbad E Bluetooth: hci0: mbox_2: 0x0000101c E Bluetooth: hci0: mbox_3: 0x00000008 E Bluetooth: hci0: mbox_4: 0x7a7a7a7a Signed-off-by: Chandrashekar Devegowda <[email protected]> Signed-off-by: Kiran K <[email protected]> Fixes: c2b636b ("Bluetooth: btintel_pcie: Add support for PCIe transport") Signed-off-by: Luiz Augusto von Dentz <[email protected]>
1 parent 308a3a8 commit daabd27

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

drivers/bluetooth/btintel_pcie.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,9 @@ static int btintel_pcie_submit_rx(struct btintel_pcie_data *data)
396396
static int btintel_pcie_start_rx(struct btintel_pcie_data *data)
397397
{
398398
int i, ret;
399+
struct rxq *rxq = &data->rxq;
399400

400-
for (i = 0; i < BTINTEL_PCIE_RX_MAX_QUEUE; i++) {
401+
for (i = 0; i < rxq->count; i++) {
401402
ret = btintel_pcie_submit_rx(data);
402403
if (ret)
403404
return ret;

drivers/bluetooth/btintel_pcie.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,6 @@ enum {
177177
/* Doorbell vector for TFD */
178178
#define BTINTEL_PCIE_TX_DB_VEC 0
179179

180-
/* Number of pending RX requests for downlink */
181-
#define BTINTEL_PCIE_RX_MAX_QUEUE 6
182-
183180
/* Doorbell vector for FRBD */
184181
#define BTINTEL_PCIE_RX_DB_VEC 513
185182

0 commit comments

Comments
 (0)