Re: Regression: Inoperative bluetooth, Intel chipset, mainline kernel 6.6.2+

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

 



[Cc: +Mario, Mathias, linux-usb]

Am 02.12.23 um 07:43 schrieb Kris Karas (Bug Reporting):
Greg KH wrote:
On Fri, Dec 01, 2023 at 07:33:03AM +0100, Thorsten Leemhuis wrote:
CCing a few lists and people. Greg is among them, who might know if this
is a known issue that 6.6.4-rc1 et. al. might already fix.

Not known to me, bisection is needed so we can track down the problem
please.

And the winner is...

commit 14a51fa544225deb9ac2f1f9f3c10dedb29f5d2f
Author: Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>
Date:   Thu Oct 19 13:29:19 2023 +0300

    xhci: Loosen RPM as default policy to cover for AMD xHC 1.1
>>     [ Upstream commit 4baf1218150985ee3ab0a27220456a1f027ea0ac ]

    The AMD USB host controller (1022:43f7) isn't going into PCI D3 by default
    without anything connected. This is because the policy that was introduced
    by commit a611bf473d1f ("xhci-pci: Set runtime PM as default policy on all
    xHC 1.2 or later devices") only covered 1.2 or later.
[ snip ]
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index b9ae5c2a2527..bde43cef8846 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -535,6 +535,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
        /* xHC spec requires PCI devices to support D3hot and D3cold */
        if (xhci->hci_version >= 0x120)
                xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;
+       else if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version >= 0x110)
+               xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;

        if (xhci->quirks & XHCI_RESET_ON_RESUME)
                xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,


Huh, OK, I was expecting this to be a patch made to the bluetooth code, as it caused bluetoothd to bomb with "opcode 0x0c03 failed".  But I just verified I did the bisect correctly by backing this two-liner out of vanilla 6.6.3, and bluetooth returned to normal operation.  Huzzah!

Just a brief recap:

This bug appears to be rather hardware-specific, as only a few folks have reported it.  In my case, the hardware is an ASrock "X470 Taichi" motherboard, and its on-board bluetooth hardware, reporting itself as:
lspci: 0f:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 xHCI Compliant Host Controller
lsusb: ID 8087:0aa7 Intel Corp. Wireless-AC 3168 Bluetooth

When Basavaraj's patch is applied (in mainline 6.6.2+), bluetooth stops functioning on my motherboard.

Originally from bugzilla #218142 [1]
[1]: https://bugzilla.kernel.org/show_bug.cgi?id=218142




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux