patch-2.4.0-test12 linux/drivers/net/dmfe.c
Next file: linux/drivers/net/dummy.c
Previous file: linux/drivers/net/dgrs.c
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Tue Dec 5 12:29:38 2000
- Orig file:
v2.4.0-test11/linux/drivers/net/dmfe.c
- Orig date:
Tue Jul 11 11:12:23 2000
diff -u --recursive --new-file v2.4.0-test11/linux/drivers/net/dmfe.c linux/drivers/net/dmfe.c
@@ -393,6 +393,7 @@
dev = init_etherdev(NULL, sizeof(*db));
if (dev == NULL)
goto err_out;
+ SET_MODULE_OWNER(dev);
/* IO range check */
if (!request_region(pci_iobase, CHK_IO_SIZE(pdev, dev_rev), dev->name)) {
@@ -461,12 +462,14 @@
static int dmfe_open(struct net_device *dev)
{
+ int ret;
struct dmfe_board_info *db = dev->priv;
DMFE_DBUG(0, "dmfe_open", 0);
- if (request_irq(dev->irq, &dmfe_interrupt, SA_SHIRQ, dev->name, dev))
- return -EAGAIN;
+ ret = request_irq(dev->irq, &dmfe_interrupt, SA_SHIRQ, dev->name, dev);
+ if (ret)
+ return ret;
/* Allocated Tx/Rx descriptor memory */
db->desc_pool_ptr = kmalloc(sizeof(struct tx_desc) * DESC_ALL_CNT + 0x20, GFP_KERNEL | GFP_DMA);
@@ -511,9 +514,6 @@
/* Initilize DM910X board */
dmfe_init_dm910x(dev);
- /* Active System Interface */
- MOD_INC_USE_COUNT;
-
/* set and active a timer process */
init_timer(&db->timer);
db->timer.expires = DMFE_TIMER_WUT;
@@ -657,7 +657,7 @@
DELAY_5US;
/* deleted timer */
- del_timer(&db->timer);
+ del_timer_sync(&db->timer);
/* free interrupt */
free_irq(dev->irq, dev);
@@ -668,8 +668,6 @@
/* free all descriptor memory and buffer memory */
kfree(db->desc_pool_ptr);
kfree(db->buf_pool_ptr);
-
- 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)