aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@intel.com>2015-02-27 04:18:33 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-03-09 08:20:47 -0400
commit29a0645c7dfcd664f1e92ab8d7539bba600b7102 (patch)
tree89b5a1069d2344f6e00a2dcbc60100f92b5ca7a7
parent97bf75f169d20c2aef1081fbe7bb5cc9656a4dc2 (diff)
i40e: tame the nvmupdate read and write complaints
The NVMUpdate tool doesn't necessarily know the ReadOnly map of the current NVM image, and must try reading and writing words that may be protected. This generates an error out of the Firmware request that the driver logs. Unfortunately, this ends up spitting out hundreds of bogus read and write error message that looks rather messy. This patch checks the error type and under normal conditions will not print the typical read and write errors during NVMUpdate. This can be overridden by enabling the NVM update debugging. This results in a much less messy log file, and likely many fewer customer support questions. Change-ID: Id4ff2e9048c523b0ff503aa5ab181b025ec948ea Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_ethtool.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index 01c811c99ff7..9ff3dc15db25 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -917,7 +917,9 @@ static int i40e_get_eeprom(struct net_device *netdev,
917 917
918 cmd = (struct i40e_nvm_access *)eeprom; 918 cmd = (struct i40e_nvm_access *)eeprom;
919 ret_val = i40e_nvmupd_command(hw, cmd, bytes, &errno); 919 ret_val = i40e_nvmupd_command(hw, cmd, bytes, &errno);
920 if (ret_val) 920 if (ret_val &&
921 ((hw->aq.asq_last_status != I40E_AQ_RC_EACCES) ||
922 (hw->debug_mask & I40E_DEBUG_NVM)))
921 dev_info(&pf->pdev->dev, 923 dev_info(&pf->pdev->dev,
922 "NVMUpdate read failed err=%d status=0x%x errno=%d module=%d offset=0x%x size=%d\n", 924 "NVMUpdate read failed err=%d status=0x%x errno=%d module=%d offset=0x%x size=%d\n",
923 ret_val, hw->aq.asq_last_status, errno, 925 ret_val, hw->aq.asq_last_status, errno,
@@ -1021,7 +1023,10 @@ static int i40e_set_eeprom(struct net_device *netdev,
1021 1023
1022 cmd = (struct i40e_nvm_access *)eeprom; 1024 cmd = (struct i40e_nvm_access *)eeprom;
1023 ret_val = i40e_nvmupd_command(hw, cmd, bytes, &errno); 1025 ret_val = i40e_nvmupd_command(hw, cmd, bytes, &errno);
1024 if (ret_val && hw->aq.asq_last_status != I40E_AQ_RC_EBUSY) 1026 if (ret_val &&
1027 ((hw->aq.asq_last_status != I40E_AQ_RC_EPERM &&
1028 hw->aq.asq_last_status != I40E_AQ_RC_EBUSY) ||
1029 (hw->debug_mask & I40E_DEBUG_NVM)))
1025 dev_info(&pf->pdev->dev, 1030 dev_info(&pf->pdev->dev,
1026 "NVMUpdate write failed err=%d status=0x%x errno=%d module=%d offset=0x%x size=%d\n", 1031 "NVMUpdate write failed err=%d status=0x%x errno=%d module=%d offset=0x%x size=%d\n",
1027 ret_val, hw->aq.asq_last_status, errno, 1032 ret_val, hw->aq.asq_last_status, errno,