[dpdk-dev] net/i40e: fix link status update error
Checks
Commit Message
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
> -----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>
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.
@@ -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);