Messages in this thread |  | | Date | Tue, 21 Nov 2000 14:28:32 -0500 | From | Jeff Garzik <> | Subject | Re: 3c59x: Using bad IRQ 0 |
| |
Tobias Ringstrom wrote: > When saying yes to "Plug-and-play OS" in the BIOS, my 3Com 905C adapter > stops working, since the driver tries to use IRQ 0, since the BIOS does > not assign an IRQ to it. The driver seems to read the IRQ from the card > before it calls pci_enable_device (and pci_set_master).
> eth0: 3Com PCI 3c905C Tornado at 0xa400, PCI: Enabling device 00:0a.0 (0014 -> 0017) > PCI: Assigned IRQ 9 for device 00:0a.0 > 00:01:02:b4:18:e4, IRQ 0
Tobias, can you confirm that calling pci_enable_device before reading dev->irq fixes the 3c59x.c problem for you?
It sounds like the 2.4 kernel can now support "plug-n-play OS" BIOS setting, AFAICS.
If moving pci_enable_device above any dev->irq checks solves Tobias' problem, we need to go through the PCI drivers and make sure we check things in the correct order in all PCI drivers. I wonder if we shouldn't move pci_resource_xxx calls until after pci_enable_device too.
A caveat to this whole scheme is that usb-uhci -already- calls pci_enable_device before checking dev->irq, and yet cannot get around the "assign IRQ to USB: no" setting in BIOS. I hope that is an exception rather than the rule.
Regards,
Jeff
-- Jeff Garzik | Building 1024 | The chief enemy of creativity is "good" sense MandrakeSoft | -- Picasso - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |