[dpdk-dev] [PATCH v2] net/i40e: fix link_state update for i40e_ethdev_vf drv

Zhang, Helin helin.zhang at intel.com
Fri Mar 30 05:07:47 CEST 2018



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Zhang, Helin
> Sent: Wednesday, March 28, 2018 12:30 AM
> To: Tushar Mulkar; dev at dpdk.org
> Cc: Xing, Beilei; Zhang, Qi Z
> Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix link_state update for
> i40e_ethdev_vf drv
> 
> 
> 
> > -----Original Message-----
> > From: Tushar Mulkar [mailto:tmulkar at sandvine.com]
> > Sent: Wednesday, February 14, 2018 8:00 PM
> > To: Zhang, Helin; dev at dpdk.org
> > Cc: Xing, Beilei; Zhang, Qi Z
> > Subject: [PATCH v2] net/i40e: fix link_state update for i40e_ethdev_vf
> > drv
> >
> > The check for bool was accounting unwanted bits in the calulation of
> > truth value. In dpdk unsingned int is typedefed to bool but all it
> > cares about is Least Significant Bit. But in calculation of condition
> > expression the bits other than LSB was used which doesn't make sense.
> > Some time these bits has values which results in to incorrect
> > expression results. To fix this we just need to account LSB form the
> > bool value . This can be easily done by anding the value with true.
> >
> > Signed-off-by: Tushar Mulkar <tmulkar at sandvine.com>
> > ---
> >  drivers/net/i40e/i40e_ethdev_vf.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> > b/drivers/net/i40e/i40e_ethdev_vf.c
> > index b96d77a0c..d23dff044 100644
> > --- a/drivers/net/i40e/i40e_ethdev_vf.c
> > +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> > @@ -2095,8 +2095,8 @@ i40evf_dev_link_update(struct rte_eth_dev *dev,
> >  	}
> >  	/* full duplex only */
> >  	new_link.link_duplex = ETH_LINK_FULL_DUPLEX;
> > -	new_link.link_status = vf->link_up ? ETH_LINK_UP :
> > -					     ETH_LINK_DOWN;
> > +	new_link.link_status = (vf->link_up & true) ?
> > +                            ETH_LINK_UP : ETH_LINK_DOWN;
> It is a bit strange to do bit manipunation on a bool type of value.
> Do you see any wrong case with that variable? If yes, I'd suggest correct that
> one, rather than doing like this.
I'd set it to change requested for now, if there no clarification for the comments, and no ACK.
Feel free to set it back if there is anything new. Thanks!

/Helin

> 
> Thanks,
> Helin
> 
> >  	new_link.link_autoneg =
> >  		dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED;
> >
> > --
> > 2.11.0



More information about the dev mailing list