Hello,
I was trying the eexpress.c driver for my Intel EtherExpress 16 NIC
(isa) and I got some errors when I unloaded the module (kernel
2.4.18-pre7).
The problem was that it was trying to release an already released i/o
region. I'm attaching a patch to remove that release_region.
I have also a question: I'm reading Rubini's Linux Device Drivers (2nd
edition) and he writes that irq and regions should be registered when
the device is open (and not in the hw-probe function). Why network
drivers should register the resources they use only on open and not on
probe (like other drivers do) ?
I don't know if this is related but I had a problem few months ago when
the ISDN card (a pci one) tried to share the same IRQ of the Network
Card (isa). The result was the nic didn't work (the NIC was a 3c509b
ISA PNP card) and I had to explicitly change the nic irq via a kernel parameter
on boot. Now I wonder if this could have happened if the driver had
registered its irq on probe and not on open (i.e. after that the hisax
module was loaded).
Greeting,
Gianluca Anzolin
--tKW2IUtsqtDRztdT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="eexpress.patch"
--- eexpress.c.old Mon Jan 28 13:47:44 2002
+++ eexpress.c Mon Jan 28 13:48:19 2002
@@ -1674,7 +1674,6 @@
unregister_netdev(dev);
kfree(dev->priv);
dev->priv = NULL;
- release_region(dev->base_addr, EEXP_IO_EXTENT);
}
}
}
--tKW2IUtsqtDRztdT--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/