[Bug 203535] Bluetooth: command tx timeout with Intel Corporation Wireless 7260 in A2DP mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=203535

Abhishek Pandit-Subedi (abhishekpandit@xxxxxxxxxxxx) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |abhishekpandit@xxxxxxxxxxxx

--- Comment #5 from Abhishek Pandit-Subedi (abhishekpandit@xxxxxxxxxxxx) ---
There's a recovery mechanism via `cmd_timeout` that the btusb driver uses to
recover from these issues. For Intel chipsets, this requires having a reset
gpio available and listed in the ACPI/DeviceTree. From the logs above, it looks
like that's not the case.

I've had some success on a QCA chipset (6174A) by just resetting the port when
this happens (see https://patchwork.kernel.org/patch/11624041/)

If you don't mind patching your kernel, you could try the following and see if
it helps (you will need the series I linked above as well if you're not using
bluetooth-next master branch).

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 0e143c0cecf2a1..cf86104fd62018 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -511,6 +511,7 @@ struct btusb_data {
        unsigned cmd_timeout_cnt;
 };

+static void btusb_qca_cmd_timeout(struct hci_dev *hdev);
 static void btusb_intel_cmd_timeout(struct hci_dev *hdev)
 {
        struct btusb_data *data = hci_get_drvdata(hdev);
@@ -520,7 +521,8 @@ static void btusb_intel_cmd_timeout(struct hci_dev *hdev)
                return;

        if (!reset_gpio) {
-               bt_dev_err(hdev, "No way to reset. Ignoring and continuing");
+               bt_dev_err(hdev, "No reset gpio. Resetting usb instead.");
+               btusb_qca_cmd_timeout(hdev);
                return;
        }

-- 
You are receiving this mail because:
You are the assignee for the bug.



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux