> -----Original Message----- > From: Tushar Mulkar [mailto:tmul...@sandvine.com] > Sent: Wednesday, February 14, 2018 8:00 PM > To: Zhang, Helin; dev@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 <tmul...@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.
Thanks, Helin > new_link.link_autoneg = > dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED; > > -- > 2.11.0