Commit d6258fcd authored by Marc Zyngier's avatar Marc Zyngier Committed by Linus Torvalds

[PATCH] Fix hp100 EISA probing

>>>>> "Pawel" == Pawel Sokolowski <falcon@muflon.linux.pl> writes:

Pawel> This machine has RAM BIOS booted from floppy. I ran it and EISA
Pawel> configure utility to check this once more. Card is enabled and not
Pawel> locked. I added eisa_bus.enable_dev=2 parameter but it didn't help much.
Pawel> I'm getting:

Pawel> EISA: Probing bus 0 at eisa0
Pawel> EISA: Mainboard HWPC061 detected.
Pawel> EISA: slot 2 : HWP1940 detected (forced enabled).
Pawel> EISA: Detected 1 card.

Pawel> I added this final entry you mailed but nothing changed. Still - module
Pawel> loads and unloads cleanly and without any warnings on 2.6.4-rc1. But
Pawel> does nothing - not a single line in logs/dmesg after it's loaded. Card
Pawel> does not work after modprobe, I can't get interface up.

Ok, found it.

It really looks like the new EISA probing code in hp100 never got
tested, since a precious offset has disappeared during the rewriting
process.

Please note that you still need to enable the device by hand, since
your BIOS (or maybe the EISA CFG file, since I'm seeing the exact same
problem on a Compaq machine here) doesn't properly enable the card.

Here is what I'm getting on my test system :

EISA: Probing bus 0 at 0000:00:0f.0
EISA: Mainboard CPQ0541 detected.
EISA: slot 1 : DEC4250 detected.
EISA: slot 2 : UNB0048 detected.
EISA: slot 3 : HWP1940 detected (forced enabled).
hp100: Using (slow) programmed i/o mode.
hp100: at 0x3c38, IRQ 3, EISA bus, 128k SRAM (rx/tx 75%).
hp100: Adapter is attached to 10Mb/s network (10baseT).
EISA: slot 4 : NVL0701 detected.
parent d456c644
...@@ -2862,7 +2862,7 @@ static int __init hp100_eisa_probe (struct device *gendev) ...@@ -2862,7 +2862,7 @@ static int __init hp100_eisa_probe (struct device *gendev)
SET_MODULE_OWNER(dev); SET_MODULE_OWNER(dev);
SET_NETDEV_DEV(dev, &edev->dev); SET_NETDEV_DEV(dev, &edev->dev);
err = hp100_probe1(dev, edev->base_addr, HP100_BUS_EISA, NULL); err = hp100_probe1(dev, edev->base_addr + 0xC38, HP100_BUS_EISA, NULL);
if (err) if (err)
goto out1; goto out1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment