summaryrefslogtreecommitdiffstats
path: root/sys/pci/ohci_pci.c
diff options
context:
space:
mode:
authorn_hibma <n_hibma@FreeBSD.org>2000-02-20 14:22:44 +0000
committern_hibma <n_hibma@FreeBSD.org>2000-02-20 14:22:44 +0000
commitd0fd416b57d88747573af7c8e4b48891ff0382f6 (patch)
tree8a085b86d864260059e9e47a5da84509ddf1bc50 /sys/pci/ohci_pci.c
parent21e6913264b1b666cc015d6e9e730f75dddbd3d1 (diff)
downloadFreeBSD-src-d0fd416b57d88747573af7c8e4b48891ff0382f6.zip
FreeBSD-src-d0fd416b57d88747573af7c8e4b48891ff0382f6.tar.gz
Move the warning on wrong IRQ values to the right place, before any
resource allocation is attempted. It will present the user with a message that he has to switch on USB support in his BIOS.
Diffstat (limited to 'sys/pci/ohci_pci.c')
-rw-r--r--sys/pci/ohci_pci.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/pci/ohci_pci.c b/sys/pci/ohci_pci.c
index 591f665..7bce5f2 100644
--- a/sys/pci/ohci_pci.c
+++ b/sys/pci/ohci_pci.c
@@ -150,6 +150,14 @@ ohci_pci_attach(device_t self)
void *ih;
int intr;
+ /* For the moment, put in a message stating what is wrong */
+ intr = pci_read_config(self, PCIR_INTLINE, 1);
+ if (intr == 0 || intr == 255) {
+ device_printf(self, "Invalid irq %d\n", intr);
+ device_printf(self, "Please switch on USB support and switch PNP-OS to 'No' in BIOS\n");
+ return ENXIO;
+ }
+
/* XXX where does it say so in the spec? */
sc->sc_bus.usbrev = USBREV_1_0;
@@ -214,14 +222,6 @@ ohci_pci_attach(device_t self)
sprintf(sc->sc_vendor, "(unknown)");
}
- intr = pci_read_config(self, PCIR_INTLINE, 1);
- if (intr == 0 || intr == 255) {
- device_printf(self, "Invalid irq %d\n", intr);
- device_printf(self, "Please switch on USB support and switch PNP-OS to 'No' in BIOS\n");
- err = ENXIO;
- goto bad3;
- }
-
err = BUS_SETUP_INTR(parent, self, irq_res, INTR_TYPE_BIO,
(driver_intr_t *) ohci_intr, sc, &ih);
if (err) {
OpenPOWER on IntegriCloud