Properly associate switch recipes to profiles. Previous code was
using the wrong bitfield for updating the associations, which was
causing other PFs to not properly identify and use existing
recipes. This sometimes resulted in rules not being added when it
should have been possible.
Signed-off-by: Dan Nowlin <dan.nowlin@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
if (status)
goto err_unroll;
if (status)
goto err_unroll;
- ice_or_bitmap(rm->r_bitmap, r_bitmap, rm->r_bitmap,
+ ice_or_bitmap(r_bitmap, r_bitmap, rm->r_bitmap,
ICE_MAX_NUM_RECIPES);
status = ice_acquire_change_lock(hw, ICE_RES_WRITE);
if (status)
goto err_unroll;
status = ice_aq_map_recipe_to_profile(hw, fvit->profile_id,
ICE_MAX_NUM_RECIPES);
status = ice_acquire_change_lock(hw, ICE_RES_WRITE);
if (status)
goto err_unroll;
status = ice_aq_map_recipe_to_profile(hw, fvit->profile_id,
NULL);
ice_release_change_lock(hw);
NULL);
ice_release_change_lock(hw);
goto err_unroll;
/* Update profile to recipe bitmap array */
goto err_unroll;
/* Update profile to recipe bitmap array */
- ice_memcpy(profile_to_recipe[fvit->profile_id], rm->r_bitmap,
- sizeof(rm->r_bitmap), ICE_NONDMA_TO_NONDMA);
+ ice_memcpy(profile_to_recipe[fvit->profile_id], r_bitmap,
+ sizeof(r_bitmap), ICE_NONDMA_TO_NONDMA);
/* Update recipe to profile bitmap array */
for (j = 0; j < ICE_MAX_NUM_RECIPES; j++)
/* Update recipe to profile bitmap array */
for (j = 0; j < ICE_MAX_NUM_RECIPES; j++)
- if (ice_is_bit_set(rm->r_bitmap, j))
+ if (ice_is_bit_set(r_bitmap, j))
ice_set_bit((u16)fvit->profile_id,
recipe_to_profile[j]);
}
ice_set_bit((u16)fvit->profile_id,
recipe_to_profile[j]);
}