lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4bc1580689b3eebc529cc0436b62798b@tipi-net.de>
Date: Mon, 03 Feb 2025 19:21:51 +0100
From: nb@...i-net.de
To: Michal Pecio <michal.pecio@...il.com>
Cc: Mathias Nyman <mathias.nyman@...el.com>, Greg Kroah-Hartman
 <gregkh@...uxfoundation.org>, linux-usb@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] usb: xhci: Restore xhci_pci support for Renesas HCs

On 28.1.2025 10:45, Michal Pecio wrote:
> Some Renesas HCs require firmware upload to work, this is handled by 
> the
> xhci_pci_renesas driver. Other variants of those chips load firmware 
> from
> a SPI flash and are ready to work with xhci_pci alone.
> 
> A refactor merged in v6.12 broke the latter configuration so that users
> are finding their hardware ignored by the normal driver and are forced 
> to
> enable the firmware loader which isn't really necessary on their 
> systems.
> 
> Let xhci_pci work with those chips as before when the firmware loader 
> is
> disabled by kernel configuration.
> 
> Fixes: 25f51b76f90f ("xhci-pci: Make xhci-pci-renesas a proper modular 
> driver")
> CC: stable@...r.kernel.org
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219616
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219726
> Signed-off-by: Michal Pecio <michal.pecio@...il.com>

Can confirm that this patch restores the old behavior, where xhci-pci 
supported the Renesas controllers when an external SPI flash is 
attached. I've tested with a PCIe extension card on arm64 and x86 as 
well as with a arm64 (Raspberry CM4) based Revolution Pi Connect 4.

Tested-by: Nicolai Buchwitz <nb@...i-net.de>

Thanks!

Nicolai

> ---
> 
> new in v2:
> - changed #ifdef CONFIG_XXX to if (IS_ENABLED(CONFIG_XXX))
> - renamed the PCI IDs table to clarify code intent
> - small commit message improvements
> 
>  drivers/usb/host/xhci-pci.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index 5a5f0b2dba4d..54460d11f7ee 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -657,8 +657,8 @@ 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[] = {
> -	/* handled by xhci-pci-renesas */
> +/* handled by xhci-pci-renesas if enabled */
> +static const struct pci_device_id pci_ids_renesas[] = {
>  	{ PCI_DEVICE(PCI_VENDOR_ID_RENESAS, 0x0014) },
>  	{ PCI_DEVICE(PCI_VENDOR_ID_RENESAS, 0x0015) },
>  	{ /* end: all zeroes */ }
> @@ -666,7 +666,8 @@ static const struct pci_device_id pci_ids_reject[] 
> = {
> 
>  static int xhci_pci_probe(struct pci_dev *dev, const struct 
> pci_device_id *id)
>  {
> -	if (pci_match_id(pci_ids_reject, dev))
> +	if (IS_ENABLED(CONFIG_USB_XHCI_PCI_RENESAS) &&
> +			pci_match_id(pci_ids_renesas, dev))
>  		return -ENODEV;
> 
>  	return xhci_pci_common_probe(dev, id);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ