Re: Problem: xhci: devices can not be enumerated due to bandwidth issues

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

 



Hi

On Mon, Jan 10, 2022 at 11:39:10PM +0200, Mathias Nyman wrote:
> > I bisected the issue to commit 2847c46c6148 ('Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set"'), which also mentions xhci bandwidth issues.
> 
> This change will enable xhci USB Link power management for some devices. 
> It adds a few more items to do during enumeration for them. 

Is this introducing the problem a sign of an issue with hardware or setup?

> If you could boot with usb core and xhci dynamic debugging enabled it could show more.
> Add "usbcore.dyndbg=+p xhci_hcd.dyndbg=+p" to your kernel cmdline

Here is the output of dmesg | grep -i "usb\|xhci": https://gist.github.com/alujoe/8539793d755ed818da50bac5b2e960a5
(I did not apply the patch below before capturing the output)
Does the log include something useful?

> 
> Also, could be worth checking if removing XHCI_LPM_SUPPORT from your kernel helps:
> 
> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index 5c351970cdf1..7434406be452 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -202,7 +202,6 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>                 xhci->quirks |= XHCI_BROKEN_D3COLD;
>  
>         if (pdev->vendor == PCI_VENDOR_ID_INTEL) {
> -               xhci->quirks |= XHCI_LPM_SUPPORT;
>                 xhci->quirks |= XHCI_INTEL_HOST;
>                 xhci->quirks |= XHCI_AVOID_BEI;
>         }
> 

The change did help! This might be a viable workaround.

Thanks
Joe



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

  Powered by Linux