Re: 3c59x: Using bad IRQ 0

From: Tobias Ringstrom (tori@tellus.mine.nu)
Date: Tue Nov 21 2000 - 17:18:32 EST


On Tue, 21 Nov 2000, Jeff Garzik wrote:
> 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?

Nope. The interrupts do not seem to get through. Packets are transmitted,
but that's it. I've copied the interesting parts from dmesg:

PCI: PCI BIOS revision 2.10 entry at 0xf10f0, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Unknown bridge resource 0: assuming transparent
PCI: Using IRQ router VIA [1106/0686] at 00:04.0
PCI: Found IRQ 10 for device 00:0b.0
PCI: The same IRQ used for device 00:11.0
[...]
3c59x.c:LK1.1.11 13 Nov 2000 Donald Becker and others. http://www.scyld.com/network/vortex.html $Revision: 1.102.2.46 $
See Documentation/networking/vortex.txt
PCI: Enabling device 00:0a.0 (0014 -> 0017)
PCI: Assigned IRQ 9 for device 00:0a.0
eth0: 3Com PCI 3c905C Tornado at 0xa400, 00:01:02:b4:18:e4, IRQ 9
  8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
  MII transceiver found at address 24, status 782d.
  Enabling bus-master transmits and whole-frame receives.
[...]
eth0: using NWAY autonegotiation
NETDEV WATCHDOG: eth0: transmit timed out
eth0: transmit timed out, tx_status 00 status e601.
eth0: Interrupt posted but not delivered -- IRQ blocked by another device?
  Flags; bus-master 1, full 0; dirty 16(0) current 16(0).
  Transmit list 00000000 vs. cff10200.
  0: @cff10200 length 8000002a status 0001002a
  1: @cff10210 length 8000002a status 0001002a
  2: @cff10220 length 8000002a status 0001002a
  3: @cff10230 length 8000002a status 0001002a
  4: @cff10240 length 8000002a status 0001002a
  5: @cff10250 length 8000002a status 0001002a
  6: @cff10260 length 8000002a status 0001002a
  7: @cff10270 length 8000002a status 0001002a
  8: @cff10280 length 8000002a status 0001002a
  9: @cff10290 length 8000002a status 0001002a
  10: @cff102a0 length 8000002a status 0001002a
  11: @cff102b0 length 8000002a status 0001002a
  12: @cff102c0 length 8000002a status 0001002a
  13: @cff102d0 length 8000002a status 0001002a
  14: @cff102e0 length 8000002a status 8001002a
  15: @cff102f0 length 8000002a status 8001002a
eth0: Resetting the Tx ring pointer.

I'm attaching lspci -vvv for the pnp and non-pnp cases. A diff between
them reveals only two differences. Th first is the IRQ of the 3Com (7 or
9), and the other one is that the game port of the SBLive card is disabled
(which should be irreleant).

/Tobias





-
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/



This archive was generated by hypermail 2b29 : Thu Nov 23 2000 - 21:00:22 EST