mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 21:03:32 +00:00
ice: return correct error code from ice_aq_sw_rules
Return ICE_ERR_DOES_NOT_EXIST return code if admin command error code is ICE_AQ_RC_ENOENT (not exist). ice_aq_sw_rules is used when switch rule is getting added/deleted/updated. In case of delete/update switch rule, admin command can return ICE_AQ_RC_ENOENT error code if such rule does not exist, hence return ICE_ERR_DOES_NOT_EXIST error code from ice_aq_sw_rule, so that caller of this function can decide how to handle ICE_ERR_DOES_NOT_EXIST. Signed-off-by: Kiran Patil <kiran.patil@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
a54a0b24f4
commit
ca1fdb885e
1 changed files with 7 additions and 1 deletions
|
@ -495,6 +495,7 @@ ice_aq_sw_rules(struct ice_hw *hw, void *rule_list, u16 rule_list_sz,
|
|||
u8 num_rules, enum ice_adminq_opc opc, struct ice_sq_cd *cd)
|
||||
{
|
||||
struct ice_aq_desc desc;
|
||||
enum ice_status status;
|
||||
|
||||
if (opc != ice_aqc_opc_add_sw_rules &&
|
||||
opc != ice_aqc_opc_update_sw_rules &&
|
||||
|
@ -506,7 +507,12 @@ ice_aq_sw_rules(struct ice_hw *hw, void *rule_list, u16 rule_list_sz,
|
|||
desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD);
|
||||
desc.params.sw_rules.num_rules_fltr_entry_index =
|
||||
cpu_to_le16(num_rules);
|
||||
return ice_aq_send_cmd(hw, &desc, rule_list, rule_list_sz, cd);
|
||||
status = ice_aq_send_cmd(hw, &desc, rule_list, rule_list_sz, cd);
|
||||
if (opc != ice_aqc_opc_add_sw_rules &&
|
||||
hw->adminq.sq_last_status == ICE_AQ_RC_ENOENT)
|
||||
status = ICE_ERR_DOES_NOT_EXIST;
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/* ice_init_port_info - Initialize port_info with switch configuration data
|
||||
|
|
Loading…
Reference in a new issue