Hi,
Linux 2.2.14 eepro100 driver (eepro100.c:v1.09r2 10/15/99) can't be compiled
with USE_IO_OPS. the patch below did fix the problem at least for my tasks,
though I'm not sure that it's the correct way...
-------------------------------------------------------------------------------
--- linux-2.2.14.SuSE/drivers/net/eepro100.c.2214 Sat Mar 18 22:31:39 2000
+++ linux-2.2.14.SuSE/drivers/net/eepro100.c Wed Jun 14 13:45:34 2000
@@ -736,8 +736,21 @@
return cards_found ? 0 : -ENODEV;
}
+/* A list of all installed Speedo devices, for removing the driver module. */
+static struct net_device *root_speedo_dev = NULL;
+
static void pci_drv_unregister(struct drv_id_info *drv_id)
{
+ struct pci_id_info *pci_tbl = drv_id->pci_dev_tbl;
+#ifdef USE_IO_OPS
+ struct net_device *dev = root_speedo_dev;
+ while (dev) {
+ struct speedo_private *sp = (void *)dev->priv;
+ release_region(dev->base_addr, pci_tbl[sp->chip_id].io_size);
+ dev = sp->next_module;
+ }
+#endif
+
/* We need do something only with CardBus support. */
if (unregister_cb_hook) {
(*unregister_cb_hook)(drv_id);
@@ -746,9 +759,6 @@
return;
}
-/* A list of all installed Speedo devices, for removing the driver module. */
-static struct net_device *root_speedo_dev = NULL;
-
static void *speedo_found1(struct pci_dev *pdev, void *init_dev,
long ioaddr, int irq, int chip_idx, int card_idx)
{
@@ -2045,7 +2055,7 @@
struct speedo_private *sp = (void *)root_speedo_dev->priv;
unregister_netdev(root_speedo_dev);
#ifdef USE_IO_OPS
- release_region(root_speedo_dev->base_addr, pci_tbl[sp->chip_id].io_size);
+ // release_region(root_speedo_dev->base_addr, pci_tbl[sp->chip_id].io_size);
#else
iounmap((char *)root_speedo_dev->base_addr);
#endif
-------------------------------------------------------------------------------
Harald
-- All SCSI disks will from now on ___ _____ be required to send an email notice 0--,| /OOOOOOO\ 24 hours prior to complete hardware failure! <_/ / /OOOOOOOOOOO\ \ \/OOOOOOOOOOOOOOO\ \ OOOOOOOOOOOOOOOOO|// Harald Koenig, \/\/\/\/\/\/\/\/\/ Inst.f.Theoret.Astrophysik // / \\ \ koenig@tat.physik.uni-tuebingen.de ^^^^^ ^^^^^- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:32 EST