linux-mips
[Top] [All Lists]

[PATCH] gt96100: stop using pci_find_device()

To: Ralf Baechle <ralf@linux-mips.org>
Subject: [PATCH] gt96100: stop using pci_find_device()
From: Alexey Dobriyan <adobriyan@gmail.com>
Date: Wed, 14 Sep 2005 22:51:37 +0400
Cc: Scott Feldman <sfeldma@pobox.com>, netdev@vger.kernel.org, linux-mips@linux-mips.org
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:to:cc:subject:message-id:mime-version:content-type:content-disposition:user-agent; b=XpM2YT5Qt5vXVn6uDn1GlSq9MhW5Op14opW910fxRzW+CewWDjA0oMwmwQJZ4cZIJiAYEWd4AWdAS1xMer83mwzLlAJMx5VXIHa3tGwY40Dd5kN5bFOKy+mG06R2oT18mRYU3CEHI/cCj3gqWly0hUcrsZQhZWT/1our2OzwIxY=
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.8i
From: Scott Feldman <sfeldma@pobox.com>

Replace pci_find_device with pci_get_device/pci_dev_put to plug race
with pci_find_device.

Signed-off-by: Scott Feldman <sfeldma@pobox.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---

 drivers/net/gt96100eth.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/net/gt96100eth.c
+++ b/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;
 }
 


<Prev in Thread] Current Thread [Next in Thread>