Replace pci_find_device with pci_get_device/pci_dev_put to plug
race with pci_find_device.
Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx>
Signed-off-by: Maximilian Attems <janitor@xxxxxxxxxxxxxx>
Signed-off-by: Domen Puncer <domen@xxxxxxxxxxxx>
---
kj-domen/drivers/net/gt96100eth.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff -puN
drivers/net/gt96100eth.c~remove-pci-find-device-drivers_net_gt96100eth
drivers/net/gt96100eth.c
--- kj/drivers/net/gt96100eth.c~remove-pci-find-device-drivers_net_gt96100eth
2005-03-05 16:09:43.000000000 +0100
+++ kj-domen/drivers/net/gt96100eth.c 2005-03-05 16:09:43.000000000 +0100
@@ -615,9 +615,9 @@ static int gt96100_init_module(void)
/*
* Stupid probe because this really isn't a PCI device
*/
- if (!(pci = pci_find_device(PCI_VENDOR_ID_MARVELL,
+ if (!(pci = pci_get_device(PCI_VENDOR_ID_MARVELL,
PCI_DEVICE_ID_MARVELL_GT96100, NULL)) &&
- !(pci = pci_find_device(PCI_VENDOR_ID_MARVELL,
+ !(pci = pci_get_device(PCI_VENDOR_ID_MARVELL,
PCI_DEVICE_ID_MARVELL_GT96100A, NULL))) {
printk(KERN_ERR __FILE__ ": GT96100 not found!\n");
return -ENODEV;
@@ -627,12 +627,14 @@ static int gt96100_init_module(void)
if (cpuConfig & (1<<12)) {
printk(KERN_ERR __FILE__
": must be in Big Endian mode!\n");
+ pci_dev_put(pci);
return -ENODEV;
}
for (i=0; i < NUM_INTERFACES; i++)
retval |= gt96100_probe1(pci, i);
+ pci_dev_put(pci);
return retval;
}
_
|