ice: return ENOSPC when exceeding ICE_MAX_CHAIN_WORDS
authorWojciech Drewek <wojciech.drewek@intel.com>
Wed, 20 Apr 2022 10:55:41 +0000 (12:55 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 5 May 2022 18:28:35 +0000 (11:28 -0700)
When number of words exceeds ICE_MAX_CHAIN_WORDS, -ENOSPC
should be returned not -EINVAL. Do not overwrite this
error code in ice_add_tc_flower_adv_fltr.

Signed-off-by: Wojciech Drewek <wojciech.drewek@intel.com>
Suggested-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_switch.c
drivers/net/ethernet/intel/ice/ice_tc_lib.c

index 496250f9f8fc7d560ceca499642733d0ed30674d..9f0a4dfb4818949e362fb5fa3ec6957c44a4b7cb 100644 (file)
@@ -5992,9 +5992,12 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
                                word_cnt++;
        }
 
-       if (!word_cnt || word_cnt > ICE_MAX_CHAIN_WORDS)
+       if (!word_cnt)
                return -EINVAL;
 
+       if (word_cnt > ICE_MAX_CHAIN_WORDS)
+               return -ENOSPC;
+
        /* locate a dummy packet */
        profile = ice_find_dummy_packet(lkups, lkups_cnt, rinfo->tun_type);
 
index 3acd9f921c44133e8f098cf511c8a530fa779a62..0a0c55fb8699325a1e963b7ffef7a9c82ebcb512 100644 (file)
@@ -622,7 +622,6 @@ ice_add_tc_flower_adv_fltr(struct ice_vsi *vsi,
        } else if (ret) {
                NL_SET_ERR_MSG_MOD(tc_fltr->extack,
                                   "Unable to add filter due to error");
-               ret = -EIO;
                goto exit;
        }