On 30-04-20, 11:16, Mathias Nyman wrote: > 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); Right, thanks for confirming -- ~Vinod