Link status is not updated correctly, link speed is 0 when link is up and link speed is not 0 when link is down. This patch fixes the issue.
Fixes: eef2daf2e199 ("net/i40e: fix link update no wait") Cc: echau...@redhat.com Cc: sta...@dpdk.org Signed-off-by: Keith Wiles <keith.wi...@intel.com> Signed-off-by: Beilei Xing <beilei.x...@intel.com> --- drivers/net/i40e/i40e_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 894505f..a563561 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -2513,7 +2513,7 @@ update_link_no_wait(struct i40e_hw *hw, struct rte_eth_link *link) reg_val &= I40E_REG_LINK_UP; link->link_status = (reg_val == I40E_REG_LINK_UP) ? 1 : 0; - if (unlikely(link->link_status != 0)) + if (unlikely(link->link_status == 0)) return; /* Parse the link status */ @@ -2572,7 +2572,7 @@ update_link_wait(struct i40e_hw *hw, struct rte_eth_link *link, link->link_status = link_status.link_info & I40E_AQ_LINK_UP; if (unlikely(link->link_status != 0)) - return; + break; rte_delay_ms(CHECK_INTERVAL); } while (--rep_cnt); -- 2.5.5