for (i = 0; i < es->count; i++) {
off = i * es->fvw;
- if (memcmp(&es->t[off], fv, es->fvw * 2))
+ if (memcmp(&es->t[off], fv, es->fvw * sizeof(*fv)))
continue;
*prof_id = i;
if (entry->entry)
ice_free(hw, entry->entry);
- if (entry->acts)
+ if (entry->acts) {
ice_free(hw, entry->acts);
+ entry->acts = NULL;
+ entry->acts_cnt = 0;
+ }
ice_free(hw, entry);
e->id = entry_id;
e->vsi_handle = vsi_handle;
e->prof = prof;
+ e->priority = prio;
switch (blk) {
case ICE_BLK_RSS:
if (status)
goto out;
+ /* Remove RSS configuration from VSI context before deleting
+ * the flow profile.
+ */
+ ice_rem_rss_cfg_vsi_ctx(hw, vsi_handle, prof);
+
if (!ice_is_any_bit_set(prof->vsis, ICE_MAX_VSI))
status = ice_flow_rem_prof_sync(hw, blk, prof);
- ice_rem_rss_cfg_vsi_ctx(hw, vsi_handle, prof);
-
out:
ice_free(hw, segs);
return status;