aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);