diff options
| -rw-r--r-- | drivers/net/ethernet/broadcom/bnx2.c | 12 |
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 | ||
| 8615 | error: | 8614 | error: |
| 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); |
