]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] Fix hp100 EISA probing
authorMarc Zyngier <mzyngier@freesurf.fr>
Mon, 8 Mar 2004 16:23:45 +0000 (11:23 -0500)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 8 Mar 2004 16:23:45 +0000 (11:23 -0500)
>>>>> "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.

drivers/net/hp100.c

index cfe47cd813c6a62f7e5fec645769ddacdbdfc0a1..a845c117194b489dcc72466d5bfded9297c44903 100644 (file)
@@ -2862,7 +2862,7 @@ static int __init hp100_eisa_probe (struct device *gendev)
        SET_MODULE_OWNER(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)
                goto out1;