aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnx2.c
diff options
context:
space:
mode:
authorBaoquan He <bhe@redhat.com>2016-11-13 00:01:32 -0500
committerDavid S. Miller <davem@davemloft.net>2016-11-14 16:20:53 -0500
commit5d0d4b91bf627f14f95167b738d524156c9d440b (patch)
treed9bc8fe39ce2644dfa12820b90d8566a7f959c24 /drivers/net/ethernet/broadcom/bnx2.c
parent7020637bdf59589a403e01aca128bef643404317 (diff)
Revert "bnx2: Reset device during driver initialization"
This reverts commit 3e1be7ad2d38c6bd6aeef96df9bd0a7822f4e51c. When people build bnx2 driver into kernel, it will fail to detect and load firmware because firmware is contained in initramfs and initramfs has not been uncompressed yet during do_initcalls. So revert commit 3e1be7a and work out a new way in the later patch. Signed-off-by: Baoquan He <bhe@redhat.com> Acked-by: Paul Menzel <pmenzel@molgen.mpg.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2.c')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
index b3791b394715..c55797291b57 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
@@ -6361,6 +6361,10 @@ bnx2_open(struct net_device *dev)
6361 struct bnx2 *bp = netdev_priv(dev); 6361 struct bnx2 *bp = netdev_priv(dev);
6362 int rc; 6362 int rc;
6363 6363
6364 rc = bnx2_request_firmware(bp);
6365 if (rc < 0)
6366 goto out;
6367
6364 netif_carrier_off(dev); 6368 netif_carrier_off(dev);
6365 6369
6366 bnx2_disable_int(bp); 6370 bnx2_disable_int(bp);
@@ -6429,6 +6433,7 @@ open_err:
6429 bnx2_free_irq(bp); 6433 bnx2_free_irq(bp);
6430 bnx2_free_mem(bp); 6434 bnx2_free_mem(bp);
6431 bnx2_del_napi(bp); 6435 bnx2_del_napi(bp);
6436 bnx2_release_firmware(bp);
6432 goto out; 6437 goto out;
6433} 6438}
6434 6439
@@ -8575,12 +8580,6 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
8575 8580
8576 pci_set_drvdata(pdev, dev); 8581 pci_set_drvdata(pdev, dev);
8577 8582
8578 rc = bnx2_request_firmware(bp);
8579 if (rc < 0)
8580 goto error;
8581
8582
8583 bnx2_reset_chip(bp, BNX2_DRV_MSG_CODE_RESET);
8584 memcpy(dev->dev_addr, bp->mac_addr, ETH_ALEN); 8583 memcpy(dev->dev_addr, bp->mac_addr, ETH_ALEN);
8585 8584
8586 dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG | 8585 dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG |
@@ -8613,7 +8612,6 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
8613 return 0; 8612 return 0;
8614 8613
8615error: 8614error:
8616 bnx2_release_firmware(bp);
8617 pci_iounmap(pdev, bp->regview); 8615 pci_iounmap(pdev, bp->regview);
8618 pci_release_regions(pdev); 8616 pci_release_regions(pdev);
8619 pci_disable_device(pdev); 8617 pci_disable_device(pdev);