| From 0665e387318607d8269bfdea60723c627c8bae43 Mon Sep 17 00:00:00 2001 |
| From: Greg Thelen <gthelen@google.com> |
| Date: Fri, 2 Jul 2021 00:12:24 -0700 |
| Subject: usb: xhci: avoid renesas_usb_fw.mem when it's unusable |
| |
| From: Greg Thelen <gthelen@google.com> |
| |
| commit 0665e387318607d8269bfdea60723c627c8bae43 upstream. |
| |
| Commit a66d21d7dba8 ("usb: xhci: Add support for Renesas controller with |
| memory") added renesas_usb_fw.mem firmware reference to xhci-pci. Thus |
| modinfo indicates xhci-pci.ko has "firmware: renesas_usb_fw.mem". But |
| the firmware is only actually used with CONFIG_USB_XHCI_PCI_RENESAS. An |
| unusable firmware reference can trigger safety checkers which look for |
| drivers with unmet firmware dependencies. |
| |
| Avoid referring to renesas_usb_fw.mem in circumstances when it cannot be |
| loaded (when CONFIG_USB_XHCI_PCI_RENESAS isn't set). |
| |
| Fixes: a66d21d7dba8 ("usb: xhci: Add support for Renesas controller with memory") |
| Cc: stable <stable@vger.kernel.org> |
| Signed-off-by: Greg Thelen <gthelen@google.com> |
| Link: https://lore.kernel.org/r/20210702071224.3673568-1-gthelen@google.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/usb/host/xhci-pci.c | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| --- a/drivers/usb/host/xhci-pci.c |
| +++ b/drivers/usb/host/xhci-pci.c |
| @@ -636,7 +636,14 @@ static const struct pci_device_id pci_id |
| { /* end: all zeroes */ } |
| }; |
| MODULE_DEVICE_TABLE(pci, pci_ids); |
| + |
| +/* |
| + * Without CONFIG_USB_XHCI_PCI_RENESAS renesas_xhci_check_request_fw() won't |
| + * load firmware, so don't encumber the xhci-pci driver with it. |
| + */ |
| +#if IS_ENABLED(CONFIG_USB_XHCI_PCI_RENESAS) |
| MODULE_FIRMWARE("renesas_usb_fw.mem"); |
| +#endif |
| |
| /* pci driver glue; this is a "new style" PCI driver module */ |
| static struct pci_driver xhci_pci_driver = { |