fix for PIO support for eepro100 driver

From: Harald Koenig (koenig@tat.physik.uni-tuebingen.de)
Date: Wed Jun 14 2000 - 12:52:24 EST


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