Re: [PATCH] usb: xhci: Restore Renesas uPD72020x support in xhci-pci

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

 



On Mon, Feb 03, 2025 at 02:00:55PM +0100, nb@xxxxxxxxxxx wrote:
> On 3.2.2025 13:46, Greg Kroah-Hartman wrote:
> > On Mon, Feb 03, 2025 at 01:00:26PM +0100, nb@xxxxxxxxxxx wrote:
> > > From: Nicolai Buchwitz <nb@xxxxxxxxxxx>
> > > 
> > > Before commit 25f51b76f90f1 ("xhci-pci: Make xhci-pci-renesas a proper
> > > modular driver"), the xhci-pci driver handled the Renesas uPD72020x
> > > USB3
> > > PHY and only utilized features of xhci-pci-renesas when no external
> > > firmware EEPROM was attached. This allowed devices with a valid
> > > firmware
> > > stored in EEPROM to function without requiring xhci-pci-renesas.
> > > 
> > > That commit changed the behavior, making xhci-pci-renesas
> > > responsible for
> > > handling these devices entirely, even when firmware was already
> > > present
> > > in EEPROM. As a result, unnecessary warnings about missing firmware
> > > files
> > > appeared, and more critically, USB functionality broke whens
> > > CONFIG_USB_XHCI_PCI_RENESAS was not enabled—despite previously
> > > workings
> > > without it.
> > > 
> > > Fix this by ensuring that devices are only handed over to
> > > xhci-pci-renesas
> > > if the config option is enabled. Otherwise, restore the original
> > > behavior
> > > and handle them as standard xhci-pci devices.
> > > 
> > > Signed-off-by: Nicolai Buchwitz <nb@xxxxxxxxxxx>
> > > Fixes: 25f51b76f90f ("xhci-pci: Make xhci-pci-renesas a proper
> > > modular driver")
> > > ---
> > >  drivers/usb/host/xhci-pci.c | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> > > index 2d1e205c14c60..4ce80d8ac603e 100644
> > > --- a/drivers/usb/host/xhci-pci.c
> > > +++ b/drivers/usb/host/xhci-pci.c
> > > @@ -654,9 +654,11 @@ int xhci_pci_common_probe(struct pci_dev *dev,
> > > const struct pci_device_id *id)
> > >  EXPORT_SYMBOL_NS_GPL(xhci_pci_common_probe, "xhci");
> > > 
> > >  static const struct pci_device_id pci_ids_reject[] = {
> > > +#if IS_ENABLED(CONFIG_USB_XHCI_PCI_RENESAS)
> > >  	/* handled by xhci-pci-renesas */
> > >  	{ PCI_DEVICE(PCI_VENDOR_ID_RENESAS, 0x0014) },
> > >  	{ PCI_DEVICE(PCI_VENDOR_ID_RENESAS, 0x0015) },
> > > +#endif
> > >  	{ /* end: all zeroes */ }
> > >  };
> > 
> > Have you seen:
> > 	https://lore.kernel.org/r/20250128104529.58a79bfc@foxbook
> > ?
> Hi Greg.
> 
> Thanks, I must have overlooked Michal's patch when I initially stumbled over
> the issue.
> > 
> > Which one is correct?
> 
> I guess both, as Michal is implementing the same slightly different.
> 
> My approach was to to keep the changes less invasive as possible and thus
> make it possible to use pci_ids_reject[] for further exceptions in the
> xhci-pci driver. In Michael's patch the list is specifically used for
> blacklisting the Renesas devices and cannot easily be expanded for other
> controllers. Either approach is fine with me, so lets move the discussion to
> the patch which came first.

Ok, can you test Michael's patch and respond with a tested-by if it
works for you?

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