patch-2.4.0-test12 linux/drivers/net/via-rhine.c

Next file: linux/drivers/net/wan/comx-hw-mixcom.c
Previous file: linux/drivers/net/tun.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test11/linux/drivers/net/via-rhine.c linux/drivers/net/via-rhine.c
@@ -508,6 +508,7 @@
 			card_idx);
 		goto err_out_free_dma;
 	}
+	SET_MODULE_OWNER(dev);
 	
 	/* request all PIO and MMIO regions just to make sure
 	 * noone else attempts to use any portion of our I/O space */
@@ -694,15 +695,12 @@
 	long ioaddr = dev->base_addr;
 	int i;
 
-	MOD_INC_USE_COUNT;
-
 	/* Reset the chip. */
 	writew(CmdReset, ioaddr + ChipCmd);
 
-	if (request_irq(dev->irq, &via_rhine_interrupt, SA_SHIRQ, dev->name, dev)) {
-		MOD_DEC_USE_COUNT;
-		return -EBUSY;
-	}
+	i = request_irq(dev->irq, &via_rhine_interrupt, SA_SHIRQ, dev->name, dev);
+	if (i)
+		return i;
 
 	if (debug > 1)
 		printk(KERN_DEBUG "%s: via_rhine_open() irq %d.\n",
@@ -712,7 +710,6 @@
 									   &np->tx_bufs_dma);
 	if (np->tx_bufs == NULL) {
 		free_irq(dev->irq, dev);
-		MOD_DEC_USE_COUNT;
 		return -ENOMEM;
 	}
 
@@ -1402,8 +1399,6 @@
 	}
 	pci_free_consistent(np->pdev, PKT_BUF_SZ * TX_RING_SIZE,
 						np->tx_bufs, np->tx_bufs_dma);
-
-	MOD_DEC_USE_COUNT;
 
 	return 0;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)