git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
drivers
/
net
/
tulip
/
de4x5.c
diff --git
a/drivers/net/tulip/de4x5.c
b/drivers/net/tulip/de4x5.c
index
9621380
..
05e8947
100644
(file)
--- a/
drivers/net/tulip/de4x5.c
+++ b/
drivers/net/tulip/de4x5.c
@@
-1141,7
+1141,7
@@
de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
lp->asBitValid = TRUE;
lp->timeout = -1;
lp->gendev = gendev;
lp->asBitValid = TRUE;
lp->timeout = -1;
lp->gendev = gendev;
- lp->lock =
(spinlock_t)
SPIN_LOCK_UNLOCKED;
+ lp->lock = SPIN_LOCK_UNLOCKED;
init_timer(&lp->timer);
de4x5_parse_params(dev);
init_timer(&lp->timer);
de4x5_parse_params(dev);
@@
-1316,7
+1316,7
@@
de4x5_open(struct net_device *dev)
** Re-initialize the DE4X5...
*/
status = de4x5_init(dev);
** Re-initialize the DE4X5...
*/
status = de4x5_init(dev);
- lp->lock =
(spinlock_t)
SPIN_LOCK_UNLOCKED;
+ lp->lock = SPIN_LOCK_UNLOCKED;
lp->state = OPEN;
de4x5_dbg_open(dev);
lp->state = OPEN;
de4x5_dbg_open(dev);
@@
-2242,8
+2242,13
@@
static int __devinit de4x5_pci_probe (struct pci_dev *pdev,
return -ENODEV;
/* Ok, the device seems to be for us. */
return -ENODEV;
/* Ok, the device seems to be for us. */
- if (!(dev = alloc_etherdev (sizeof (struct de4x5_private))))
- return -ENOMEM;
+ if (pci_enable_device (pdev))
+ return -ENODEV;
+
+ if (!(dev = alloc_etherdev (sizeof (struct de4x5_private)))) {
+ error = -ENOMEM;
+ goto disable_dev;
+ }
lp = netdev_priv(dev);
lp->bus = PCI;
lp = netdev_priv(dev);
lp->bus = PCI;
@@
-2327,6
+2332,8
@@
static int __devinit de4x5_pci_probe (struct pci_dev *pdev,
release_region (iobase, DE4X5_PCI_TOTAL_SIZE);
free_dev:
free_netdev (dev);
release_region (iobase, DE4X5_PCI_TOTAL_SIZE);
free_dev:
free_netdev (dev);
+ disable_dev:
+ pci_disable_device (pdev);
return error;
}
return error;
}
@@
-2341,6
+2348,7
@@
static void __devexit de4x5_pci_remove (struct pci_dev *pdev)
unregister_netdev (dev);
free_netdev (dev);
release_region (iobase, DE4X5_PCI_TOTAL_SIZE);
unregister_netdev (dev);
free_netdev (dev);
release_region (iobase, DE4X5_PCI_TOTAL_SIZE);
+ pci_disable_device (pdev);
}
static struct pci_device_id de4x5_pci_tbl[] = {
}
static struct pci_device_id de4x5_pci_tbl[] = {