[dpdk-dev] net/i40e: fix link status update error

Message ID 1525919189-10017-1-git-send-email-beilei.xing@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Xing, Beilei May 10, 2018, 2:26 a.m. UTC
  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: echaudro@redhat.com
Cc: stable@dpdk.org

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Qi Zhang May 10, 2018, 2:36 a.m. UTC | #1
> -----Original Message-----
> From: Xing, Beilei
> Sent: Thursday, May 10, 2018 10:26 AM
> To: Zhang, Roy Fan <roy.fan.zhang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; echaudro@redhat.com; stable@dpdk.org; Wiles, Keith
> <keith.wiles@intel.com>
> Subject: [PATCH] net/i40e: fix link status update error
> 
> 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: echaudro@redhat.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
> Signed-off-by: Beilei Xing <beilei.xing@intel.com>

Acked-by Qi Zhang <qi.z.zhang@intel.com>
  
Ferruh Yigit May 10, 2018, 10:33 p.m. UTC | #2
On 5/10/2018 3:36 AM, Zhang, Qi Z wrote:
>> -----Original Message-----
>> From: Xing, Beilei
>> Sent: Thursday, May 10, 2018 10:26 AM
>> To: Zhang, Roy Fan <roy.fan.zhang@intel.com>; Zhang, Qi Z
>> <qi.z.zhang@intel.com>
>> Cc: dev@dpdk.org; echaudro@redhat.com; stable@dpdk.org; Wiles, Keith
>> <keith.wiles@intel.com>
>> Subject: [PATCH] net/i40e: fix link status update error
>>
>> 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: echaudro@redhat.com
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Keith Wiles <keith.wiles@intel.com>
>> Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> 
> Acked-by Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

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);