aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x
diff options
context:
space:
mode:
authorVladislav Zolotarov <vladz@broadcom.com>2010-11-24 14:09:50 -0500
committerDavid S. Miller <davem@davemloft.net>2010-11-24 14:09:50 -0500
commitb340007f79941297c44a7dfba4d3c587ff81590f (patch)
tree631a382e90f4704b0edce3d6de8984b6e6374cd9 /drivers/net/bnx2x
parente1210d127d11fc40d229648c9754aa60776ef796 (diff)
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')
-rw-r--r--drivers/net/bnx2x/bnx2x.h4
-rw-r--r--drivers/net/bnx2x/bnx2x_main.c12
2 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
index 863e73a85fbe..342ab58b14b3 100644
--- a/drivers/net/bnx2x/bnx2x.h
+++ b/drivers/net/bnx2x/bnx2x.h
@@ -20,8 +20,8 @@
20 * (you will need to reboot afterwards) */ 20 * (you will need to reboot afterwards) */
21/* #define BNX2X_STOP_ON_ERROR */ 21/* #define BNX2X_STOP_ON_ERROR */
22 22
23#define DRV_MODULE_VERSION "1.60.00-4" 23#define DRV_MODULE_VERSION "1.60.00-5"
24#define DRV_MODULE_RELDATE "2010/11/01" 24#define DRV_MODULE_RELDATE "2010/11/24"
25#define BNX2X_BC_VER 0x040200 25#define BNX2X_BC_VER 0x040200
26 26
27#define BNX2X_MULTI_QUEUE 27#define BNX2X_MULTI_QUEUE
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c
index 92057d7058da..f53edfd011bf 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,
9096 /* calc qm_cid_count */ 9096 /* calc qm_cid_count */
9097 bp->qm_cid_count = bnx2x_set_qm_cid_count(bp, cid_count); 9097 bp->qm_cid_count = bnx2x_set_qm_cid_count(bp, cid_count);
9098 9098
9099 rc = register_netdev(dev);
9100 if (rc) {
9101 dev_err(&pdev->dev, "Cannot register net device\n");
9102 goto init_one_exit;
9103 }
9104
9105 /* Configure interupt mode: try to enable MSI-X/MSI if 9099 /* Configure interupt mode: try to enable MSI-X/MSI if
9106 * needed, set bp->num_queues appropriately. 9100 * needed, set bp->num_queues appropriately.
9107 */ 9101 */
@@ -9110,6 +9104,12 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev,
9110 /* Add all NAPI objects */ 9104 /* Add all NAPI objects */
9111 bnx2x_add_all_napi(bp); 9105 bnx2x_add_all_napi(bp);
9112 9106
9107 rc = register_netdev(dev);
9108 if (rc) {
9109 dev_err(&pdev->dev, "Cannot register net device\n");
9110 goto init_one_exit;
9111 }
9112
9113 bnx2x_get_pcie_width_speed(bp, &pcie_width, &pcie_speed); 9113 bnx2x_get_pcie_width_speed(bp, &pcie_width, &pcie_speed);
9114 9114
9115 netdev_info(dev, "%s (%c%d) PCI-E x%d %s found at mem %lx," 9115 netdev_info(dev, "%s (%c%d) PCI-E x%d %s found at mem %lx,"