When ice driver reads recipes from firmware information about
need_pass_l2 and allow_pass_l2 flags is not stored correctly.
Those flags are stored as one bit each in ice_sw_recipe structure.
Because of that, the result of checking a flag has to be casted to bool.
Note that the need_pass_l2 flag currently works correctly, because
it's stored in the first bit.

Fixes: bccd9bce29e0 ("ice: Add guard rule when creating FDB in switchdev")
Reviewed-by: Marcin Szycik <marcin.szy...@linux.intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com>
Signed-off-by: Wojciech Drewek <wojciech.dre...@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_switch.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c 
b/drivers/net/ethernet/intel/ice/ice_switch.c
index 1191031b2a43..ffd6c42bda1e 100644
--- a/drivers/net/ethernet/intel/ice/ice_switch.c
+++ b/drivers/net/ethernet/intel/ice/ice_switch.c
@@ -2413,10 +2413,10 @@ ice_get_recp_frm_fw(struct ice_hw *hw, struct 
ice_sw_recipe *recps, u8 rid,
                /* Propagate some data to the recipe database */
                recps[idx].is_root = !!is_root;
                recps[idx].priority = root_bufs.content.act_ctrl_fwd_priority;
-               recps[idx].need_pass_l2 = root_bufs.content.act_ctrl &
-                                         ICE_AQ_RECIPE_ACT_NEED_PASS_L2;
-               recps[idx].allow_pass_l2 = root_bufs.content.act_ctrl &
-                                          ICE_AQ_RECIPE_ACT_ALLOW_PASS_L2;
+               recps[idx].need_pass_l2 = !!(root_bufs.content.act_ctrl &
+                                            ICE_AQ_RECIPE_ACT_NEED_PASS_L2);
+               recps[idx].allow_pass_l2 = !!(root_bufs.content.act_ctrl &
+                                             ICE_AQ_RECIPE_ACT_ALLOW_PASS_L2);
                bitmap_zero(recps[idx].res_idxs, ICE_MAX_FV_WORDS);
                if (root_bufs.content.result_indx & ICE_AQ_RECIPE_RESULT_EN) {
                        recps[idx].chain_idx = root_bufs.content.result_indx &
-- 
2.40.1

Reply via email to