summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKulikov Vasiliy <segooon@gmail.com>2010-08-03 05:43:18 +0000
committerDavid S. Miller <davem@davemloft.net>2010-08-04 16:18:03 -0700
commit889635fd6b269963f7e68b53c9f0f60c8008a77f (patch)
treecc8c3c459a82d71c1c15a056961b23f81e540e6e
parent7a0c2029d655e03499b1e2a3daeeab6a56d72b87 (diff)
downloadlinux-3.10-889635fd6b269963f7e68b53c9f0f60c8008a77f.tar.gz
linux-3.10-889635fd6b269963f7e68b53c9f0f60c8008a77f.tar.bz2
linux-3.10-889635fd6b269963f7e68b53c9f0f60c8008a77f.zip
via-velocity: do not use PCI resources before pci_enable_device()
IRQ and resource[] may not have correct values until after PCI hotplug setup occurs at pci_enable_device() time. The semantic match that finds this problem is as follows: // <smpl> @@ identifier x; identifier request ~= "pci_request.*|pci_resource.*"; @@ ( * x->irq | * x->resource | * request(x, ...) ) ... *pci_enable_device(x) // </smpl> Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/via-velocity.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 42dffd3e579..fd69095ef6e 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -2763,12 +2763,12 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi
vptr->dev = dev;
- dev->irq = pdev->irq;
-
ret = pci_enable_device(pdev);
if (ret < 0)
goto err_free_dev;
+ dev->irq = pdev->irq;
+
ret = velocity_get_pci_info(vptr, pdev);
if (ret < 0) {
/* error message already printed */