diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-08-03 07:43:18 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-05 01:18:03 +0200 |
commit | 889635fd6b269963f7e68b53c9f0f60c8008a77f (patch) | |
tree | cc8c3c459a82d71c1c15a056961b23f81e540e6e | |
parent | cxgb4vf: do not use PCI resources before pci_enable_device() (diff) | |
download | linux-889635fd6b269963f7e68b53c9f0f60c8008a77f.tar.xz linux-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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index 42dffd3e5795..fd69095ef6e3 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 */ |