From: Scott Feldman Subject: [Kernel-janitors] [PATCH 2/6] janitor: net/gt96100eth: pci_find_device to pci_get_device Replace pci_find_device with pci_get_device/pci_dev_put to plug race with pci_find_device. Signed-off-by: Scott Feldman Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer --- gt96100eth.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) Index: quilt/drivers/net/gt96100eth.c =================================================================== --- quilt.orig/drivers/net/gt96100eth.c +++ quilt/drivers/net/gt96100eth.c @@ -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; }