xhci: check if legacy irq is available before using it as fallback
authorNiklas Neronin <niklas.neronin@linux.intel.com>
Fri, 1 Dec 2023 15:06:39 +0000 (17:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Dec 2023 06:50:40 +0000 (07:50 +0100)
Move the error check "No MSI-X/MSI found and no IRQ in BIOS" inside
'goto legacy'. It is better to check if the IRQ interrupt is available,
before trying to add a handler. Additionally the aforementioned error
message is much more clear.

Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20231201150647.1307406-12-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-pci.c

index 95ed9404f6f8520678ccf3a220a8dad8fff82d98..7f2b1312e943bb899d14256eb702d1c1a036660a 100644 (file)
@@ -228,12 +228,12 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
                return 0;
        }
 
+legacy_irq:
        if (!pdev->irq) {
                xhci_err(xhci, "No msi-x/msi found and no IRQ in BIOS\n");
                return -EINVAL;
        }
 
- legacy_irq:
        if (!strlen(hcd->irq_descr))
                snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
                         hcd->driver->description, hcd->self.busnum);