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
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
ide
/
pci
/
cs5530.c
diff --git
a/drivers/ide/pci/cs5530.c
b/drivers/ide/pci/cs5530.c
index
380bb28
..
9bf5fdf
100644
(file)
--- a/
drivers/ide/pci/cs5530.c
+++ b/
drivers/ide/pci/cs5530.c
@@
-222,23
+222,23
@@
static unsigned int __devinit init_chipset_cs5530 (struct pci_dev *dev, const ch
unsigned long flags;
dev = NULL;
unsigned long flags;
dev = NULL;
- while ((dev = pci_
find
_device(PCI_VENDOR_ID_CYRIX, PCI_ANY_ID, dev)) != NULL) {
+ while ((dev = pci_
get
_device(PCI_VENDOR_ID_CYRIX, PCI_ANY_ID, dev)) != NULL) {
switch (dev->device) {
case PCI_DEVICE_ID_CYRIX_PCI_MASTER:
switch (dev->device) {
case PCI_DEVICE_ID_CYRIX_PCI_MASTER:
- master_0 =
dev
;
+ master_0 =
pci_dev_get(dev)
;
break;
case PCI_DEVICE_ID_CYRIX_5530_LEGACY:
break;
case PCI_DEVICE_ID_CYRIX_5530_LEGACY:
- cs5530_0 =
dev
;
+ cs5530_0 =
pci_dev_get(dev)
;
break;
}
}
if (!master_0) {
printk(KERN_ERR "%s: unable to locate PCI MASTER function\n", name);
break;
}
}
if (!master_0) {
printk(KERN_ERR "%s: unable to locate PCI MASTER function\n", name);
-
return 0
;
+
goto out
;
}
if (!cs5530_0) {
printk(KERN_ERR "%s: unable to locate CS5530 LEGACY function\n", name);
}
if (!cs5530_0) {
printk(KERN_ERR "%s: unable to locate CS5530 LEGACY function\n", name);
-
return 0
;
+
goto out
;
}
spin_lock_irqsave(&ide_lock, flags);
}
spin_lock_irqsave(&ide_lock, flags);
@@
-296,6
+296,9
@@
static unsigned int __devinit init_chipset_cs5530 (struct pci_dev *dev, const ch
spin_unlock_irqrestore(&ide_lock, flags);
spin_unlock_irqrestore(&ide_lock, flags);
+out:
+ pci_dev_put(master_0);
+ pci_dev_put(cs5530_0);
return 0;
}
return 0;
}
@@
-371,7
+374,7
@@
static struct pci_driver driver = {
.probe = cs5530_init_one,
};
.probe = cs5530_init_one,
};
-static int cs5530_ide_init(void)
+static int
__init
cs5530_ide_init(void)
{
return ide_pci_register_driver(&driver);
}
{
return ide_pci_register_driver(&driver);
}