diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-08-03 05:43:18 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-04 16:18:03 -0700 |
commit | 889635fd6b269963f7e68b53c9f0f60c8008a77f (patch) | |
tree | cc8c3c459a82d71c1c15a056961b23f81e540e6e | |
parent | 7a0c2029d655e03499b1e2a3daeeab6a56d72b87 (diff) |
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.c | 4 |
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 */ |