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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to