On 30.4.2020 9.20, Vinod Koul wrote: > On 29-04-20, 19:58, Vinod Koul wrote: >> On 29-04-20, 16:53, Mathias Nyman wrote: >>> On 24.4.2020 13.14, Vinod Koul wrote: > >>>> /* Prevent runtime suspending between USB-2 and USB-3 initialization */ >>>> pm_runtime_get_noresume(&dev->dev); >>>> @@ -388,6 +401,9 @@ static void xhci_pci_remove(struct pci_dev *dev) >>>> { >>>> struct xhci_hcd *xhci; >>>> >>>> + if (renesas_device) >>>> + renesas_xhci_pci_exit(dev); >>>> + >>> >>> Ah, I see, what we really should do is make sure the quirks in the driver data get >>> added to xhci->quirks, and then just check for the correct quirk in xhci_pci_remove. >> >> Ah sure that does sound better, I will update this as well and send an >> update with these changes > > This works for me.. But I have kept the code as in the xhci_pci_probe(), > ofcourse removed bool renesas_device. That's fine, xhci is just hcd->hcd_priv, and it doesn't exists before usb_hcd_pci_probe() is called usb_hcd_pci_probe() usb_create_hcd() hcd = kzalloc(sizeof(*hcd) + driver->hcd_priv_size, GFP_KERNEL); -Mathias