Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
The forcedeth changes had a conflict with the conversion over to atomic u64 statistics in net-next. The libertas cfg.c code had a conflict with the bss reference counting fix by John Linville in net-next. Conflicts: drivers/net/ethernet/nvidia/forcedeth.c drivers/net/wireless/libertas/cfg.c
This commit is contained in:
commit
efd0bf97de
548 changed files with 5547 additions and 4556 deletions
|
@ -10574,33 +10574,38 @@ do { \
|
|||
|
||||
int bnx2x_init_firmware(struct bnx2x *bp)
|
||||
{
|
||||
const char *fw_file_name;
|
||||
struct bnx2x_fw_file_hdr *fw_hdr;
|
||||
int rc;
|
||||
|
||||
if (CHIP_IS_E1(bp))
|
||||
fw_file_name = FW_FILE_NAME_E1;
|
||||
else if (CHIP_IS_E1H(bp))
|
||||
fw_file_name = FW_FILE_NAME_E1H;
|
||||
else if (!CHIP_IS_E1x(bp))
|
||||
fw_file_name = FW_FILE_NAME_E2;
|
||||
else {
|
||||
BNX2X_ERR("Unsupported chip revision\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
|
||||
if (!bp->firmware) {
|
||||
const char *fw_file_name;
|
||||
|
||||
rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
|
||||
if (rc) {
|
||||
BNX2X_ERR("Can't load firmware file %s\n", fw_file_name);
|
||||
goto request_firmware_exit;
|
||||
}
|
||||
if (CHIP_IS_E1(bp))
|
||||
fw_file_name = FW_FILE_NAME_E1;
|
||||
else if (CHIP_IS_E1H(bp))
|
||||
fw_file_name = FW_FILE_NAME_E1H;
|
||||
else if (!CHIP_IS_E1x(bp))
|
||||
fw_file_name = FW_FILE_NAME_E2;
|
||||
else {
|
||||
BNX2X_ERR("Unsupported chip revision\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
|
||||
|
||||
rc = bnx2x_check_firmware(bp);
|
||||
if (rc) {
|
||||
BNX2X_ERR("Corrupt firmware file %s\n", fw_file_name);
|
||||
goto request_firmware_exit;
|
||||
rc = request_firmware(&bp->firmware, fw_file_name,
|
||||
&bp->pdev->dev);
|
||||
if (rc) {
|
||||
BNX2X_ERR("Can't load firmware file %s\n",
|
||||
fw_file_name);
|
||||
goto request_firmware_exit;
|
||||
}
|
||||
|
||||
rc = bnx2x_check_firmware(bp);
|
||||
if (rc) {
|
||||
BNX2X_ERR("Corrupt firmware file %s\n", fw_file_name);
|
||||
goto request_firmware_exit;
|
||||
}
|
||||
}
|
||||
|
||||
fw_hdr = (struct bnx2x_fw_file_hdr *)bp->firmware->data;
|
||||
|
@ -10656,6 +10661,7 @@ static void bnx2x_release_firmware(struct bnx2x *bp)
|
|||
kfree(bp->init_ops);
|
||||
kfree(bp->init_data);
|
||||
release_firmware(bp->firmware);
|
||||
bp->firmware = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
@ -10951,6 +10957,8 @@ static void __devexit bnx2x_remove_one(struct pci_dev *pdev)
|
|||
if (bp->doorbells)
|
||||
iounmap(bp->doorbells);
|
||||
|
||||
bnx2x_release_firmware(bp);
|
||||
|
||||
bnx2x_free_mem_bp(bp);
|
||||
|
||||
free_netdev(dev);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue