diff options
author | Vladislav Zolotarov <vladz@broadcom.com> | 2010-11-24 11:09:50 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-24 11:09:50 -0800 |
commit | b340007f79941297c44a7dfba4d3c587ff81590f (patch) | |
tree | 631a382e90f4704b0edce3d6de8984b6e6374cd9 /drivers/net/bnx2x/bnx2x_main.c | |
parent | e1210d127d11fc40d229648c9754aa60776ef796 (diff) | |
download | op-kernel-dev-b340007f79941297c44a7dfba4d3c587ff81590f.zip op-kernel-dev-b340007f79941297c44a7dfba4d3c587ff81590f.tar.gz |
bnx2x: Do interrupt mode initialization and NAPIs adding before register_netdev()
Move the interrupt mode configuration and NAPIs adding before a
register_netdev() call to prevent netdev->open() from running
before these functions are done.
Advance a driver version number.
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Reported-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_main.c')
-rw-r--r-- | drivers/net/bnx2x/bnx2x_main.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c index 92057d7..f53edfd 100644 --- a/drivers/net/bnx2x/bnx2x_main.c +++ b/drivers/net/bnx2x/bnx2x_main.c @@ -9096,12 +9096,6 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev, /* calc qm_cid_count */ bp->qm_cid_count = bnx2x_set_qm_cid_count(bp, cid_count); - rc = register_netdev(dev); - if (rc) { - dev_err(&pdev->dev, "Cannot register net device\n"); - goto init_one_exit; - } - /* Configure interupt mode: try to enable MSI-X/MSI if * needed, set bp->num_queues appropriately. */ @@ -9110,6 +9104,12 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev, /* Add all NAPI objects */ bnx2x_add_all_napi(bp); + rc = register_netdev(dev); + if (rc) { + dev_err(&pdev->dev, "Cannot register net device\n"); + goto init_one_exit; + } + bnx2x_get_pcie_width_speed(bp, &pcie_width, &pcie_speed); netdev_info(dev, "%s (%c%d) PCI-E x%d %s found at mem %lx," |