Re: [PATCH 2/4] xhci: Add quirk to reset host back to default state at shutdown

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

 



On Wed, Oct 26, 2022 at 05:40:10PM +1100, Reka Norman wrote:
> On Wed, Oct 26, 2022 at 5:01 PM Mathias Nyman <mathias.nyman@xxxxxxxxx> wrote:
> >
> > From: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
> >
> > Systems based on Alder Lake P see significant boot time delay if
> > boot firmware tries to control usb ports in unexpected link states.
> >
> > This is seen with self-powered usb devices that survive in U3 link
> > suspended state over S5.
> >
> > A more generic solution to power off ports at shutdown was attempted in
> > commit 83810f84ecf1 ("xhci: turn off port power in shutdown")
> > but it caused regression.
> >
> > Add host specific XHCI_RESET_TO_DEFAULT quirk which will reset host and
> > ports back to default state in shutdown.
> >
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
> > ---
> >  drivers/usb/host/xhci-pci.c |  4 ++++
> >  drivers/usb/host/xhci.c     | 10 ++++++++--
> >  drivers/usb/host/xhci.h     |  1 +
> >  3 files changed, 13 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> > index 6dd3102749b7..fbbd547ba12a 100644
> > --- a/drivers/usb/host/xhci-pci.c
> > +++ b/drivers/usb/host/xhci-pci.c
> > @@ -257,6 +257,10 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
> >              pdev->device == PCI_DEVICE_ID_INTEL_DNV_XHCI))
> >                 xhci->quirks |= XHCI_MISSING_CAS;
> >
> > +       if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
> > +           pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI)
> 
> We need this quirk for ADL-N too (device ID 0x54ed). Would you mind
> updating the patch? Or I can send a separate patch if you prefer.

A separate patch is required, please submit it.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux