diff options
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_hw.h | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 18 |
2 files changed, 17 insertions, 4 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_hw.h b/drivers/net/ethernet/emulex/benet/be_hw.h index 3e2162121601..dc88782185f2 100644 --- a/drivers/net/ethernet/emulex/benet/be_hw.h +++ b/drivers/net/ethernet/emulex/benet/be_hw.h | |||
@@ -64,6 +64,9 @@ | |||
64 | #define SLIPORT_ERROR_NO_RESOURCE1 0x2 | 64 | #define SLIPORT_ERROR_NO_RESOURCE1 0x2 |
65 | #define SLIPORT_ERROR_NO_RESOURCE2 0x9 | 65 | #define SLIPORT_ERROR_NO_RESOURCE2 0x9 |
66 | 66 | ||
67 | #define SLIPORT_ERROR_FW_RESET1 0x2 | ||
68 | #define SLIPORT_ERROR_FW_RESET2 0x0 | ||
69 | |||
67 | /********* Memory BAR register ************/ | 70 | /********* Memory BAR register ************/ |
68 | #define PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET 0xfc | 71 | #define PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET 0xfc |
69 | /* Host Interrupt Enable, if set interrupts are enabled although "PCI Interrupt | 72 | /* Host Interrupt Enable, if set interrupts are enabled although "PCI Interrupt |
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index fee64bf10446..a2302dc061f3 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -2464,8 +2464,16 @@ void be_detect_error(struct be_adapter *adapter) | |||
2464 | */ | 2464 | */ |
2465 | if (sliport_status & SLIPORT_STATUS_ERR_MASK) { | 2465 | if (sliport_status & SLIPORT_STATUS_ERR_MASK) { |
2466 | adapter->hw_error = true; | 2466 | adapter->hw_error = true; |
2467 | dev_err(&adapter->pdev->dev, | 2467 | /* Do not log error messages if its a FW reset */ |
2468 | "Error detected in the card\n"); | 2468 | if (sliport_err1 == SLIPORT_ERROR_FW_RESET1 && |
2469 | sliport_err2 == SLIPORT_ERROR_FW_RESET2) { | ||
2470 | dev_info(&adapter->pdev->dev, | ||
2471 | "Firmware update in progress\n"); | ||
2472 | return; | ||
2473 | } else { | ||
2474 | dev_err(&adapter->pdev->dev, | ||
2475 | "Error detected in the card\n"); | ||
2476 | } | ||
2469 | } | 2477 | } |
2470 | 2478 | ||
2471 | if (sliport_status & SLIPORT_STATUS_ERR_MASK) { | 2479 | if (sliport_status & SLIPORT_STATUS_ERR_MASK) { |
@@ -3812,6 +3820,8 @@ static int lancer_fw_download(struct be_adapter *adapter, | |||
3812 | } | 3820 | } |
3813 | 3821 | ||
3814 | if (change_status == LANCER_FW_RESET_NEEDED) { | 3822 | if (change_status == LANCER_FW_RESET_NEEDED) { |
3823 | dev_info(&adapter->pdev->dev, | ||
3824 | "Resetting adapter to activate new FW\n"); | ||
3815 | status = lancer_physdev_ctrl(adapter, | 3825 | status = lancer_physdev_ctrl(adapter, |
3816 | PHYSDEV_CONTROL_FW_RESET_MASK); | 3826 | PHYSDEV_CONTROL_FW_RESET_MASK); |
3817 | if (status) { | 3827 | if (status) { |
@@ -4363,13 +4373,13 @@ static int lancer_recover_func(struct be_adapter *adapter) | |||
4363 | goto err; | 4373 | goto err; |
4364 | } | 4374 | } |
4365 | 4375 | ||
4366 | dev_err(dev, "Error recovery successful\n"); | 4376 | dev_err(dev, "Adapter recovery successful\n"); |
4367 | return 0; | 4377 | return 0; |
4368 | err: | 4378 | err: |
4369 | if (status == -EAGAIN) | 4379 | if (status == -EAGAIN) |
4370 | dev_err(dev, "Waiting for resource provisioning\n"); | 4380 | dev_err(dev, "Waiting for resource provisioning\n"); |
4371 | else | 4381 | else |
4372 | dev_err(dev, "Error recovery failed\n"); | 4382 | dev_err(dev, "Adapter recovery failed\n"); |
4373 | 4383 | ||
4374 | return status; | 4384 | return status; |
4375 | } | 4385 | } |