On Tue, Oct 06, 2026 at 04:33:50PM +0200, Burakov, Anatoly wrote:
> On 9/30/2026 4:48 AM, Anurag Mandal wrote:
> > ice_vsi_dis_outer_insertion() treats a 0 return from ice_update_vsi()
> > as a failure, but a return value 0 means success, so the error and
> > success paths are swapped.
> > Removing a port VLAN in double VLAN mode logs an incorrect error,
> > returns invalid argument, and leaves a stale
> > ICE_AQ_VSI_OUTER_VLAN_PORT_BASED_INSERT bit in the cached
> > VSI context that later VSI updates replay into hardware.
> > 
> > Inverted the check to avoid this bug.
> > 
> > Fixes: de5da9d16430 ("net/ice: support double VLAN")
> > Cc: [email protected]
> > 
> > Signed-off-by: Anurag Mandal <[email protected]>
> > ---
> >   drivers/net/intel/ice/ice_ethdev.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/intel/ice/ice_ethdev.c 
> > b/drivers/net/intel/ice/ice_ethdev.c
> > index 163304ba1e..2c5ffe07f3 100644
> > --- a/drivers/net/intel/ice/ice_ethdev.c
> > +++ b/drivers/net/intel/ice/ice_ethdev.c
> > @@ -6447,7 +6447,7 @@ static int ice_vsi_dis_outer_insertion(struct ice_vsi 
> > *vsi, struct ice_vsi_vlan_
> >              ICE_AQ_VSI_OUTER_VLAN_TX_MODE_M);
> >     status = ice_update_vsi(hw, vsi->idx, &ctxt, NULL);
> > -   if (!status) {
> > +   if (status) {
> >             PMD_DRV_LOG(ERR,
> >                         "update VSI for disabling outer VLAN insertion 
> > failed, err %d",
> >                         status);
> 
> I'd have preferred we do not treat integer values as booleans. This
> particular function returns the ice status code rather than int so perhaps
> we should check for `if (status != ICE_SUCCESS)` instead.
> 
> However, this isn't a big deal and can probably be fixed on apply, so
> 
> Acked-by: Anatoly Burakov <[email protected]>
> 
Applied to dpdk-next-net-intel with suggested change applied. I too agree
that it's clearer to compare against ICE_SUCCESS

/Bruce

Reply via email to