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. the xhci is not valid before invoking renesas_xhci_check_request_fw(). Is there another way to get xhci from dev without calling usb_hcd_pci_probe(). xhci = hcd_to_xhci(hcd) doesn't seem to work before that! -- ~Vinod