Browse Source

i40e: fix "dump port" command when NPAR enabled

When using the debugfs to issue the "dump port" command
with NPAR enabled, the firmware reports back with invalid argument.

The issue occurs because the pf->mac_seid was used to perform the query.
This is fine when NPAR is disabled because the switch ID == pf->mac_seid,
however this is not the case when NPAR is enabled.  This fix instead
goes through the VSI to determine the correct ID to use in either case.

Change-ID: I0cd67913a7f2c4a2962e06d39e32e7447cc55b6a
Signed-off-by: Alan Brady <alan.brady@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Alan Brady 9 years ago
parent
commit
a01c7f6709
1 changed files with 6 additions and 1 deletions
  1. 6 1
      drivers/net/ethernet/intel/i40e/i40e_debugfs.c

+ 6 - 1
drivers/net/ethernet/intel/i40e/i40e_debugfs.c

@@ -1054,6 +1054,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
 			struct i40e_dcbx_config *r_cfg =
 			struct i40e_dcbx_config *r_cfg =
 						&pf->hw.remote_dcbx_config;
 						&pf->hw.remote_dcbx_config;
 			int i, ret;
 			int i, ret;
+			u32 switch_id;
 
 
 			bw_data = kzalloc(sizeof(
 			bw_data = kzalloc(sizeof(
 				    struct i40e_aqc_query_port_ets_config_resp),
 				    struct i40e_aqc_query_port_ets_config_resp),
@@ -1063,8 +1064,12 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
 				goto command_write_done;
 				goto command_write_done;
 			}
 			}
 
 
+			vsi = pf->vsi[pf->lan_vsi];
+			switch_id =
+				vsi->info.switch_id & I40E_AQ_VSI_SW_ID_MASK;
+
 			ret = i40e_aq_query_port_ets_config(&pf->hw,
 			ret = i40e_aq_query_port_ets_config(&pf->hw,
-							    pf->mac_seid,
+							    switch_id,
 							    bw_data, NULL);
 							    bw_data, NULL);
 			if (ret) {
 			if (ret) {
 				dev_info(&pf->pdev->dev,
 				dev_info(&pf->pdev->dev,