[dpdk-stable] [dpdk-dev] [PATCH] net/e1000: fix link status update

Ye Xiaolong xiaolong.ye at intel.com
Thu Nov 14 07:41:34 CET 2019


Hi,

On 11/13, Cui LunyuanX wrote:
>Unassigned variable should not be used as judgment, and there

The issue here is link structure variable has been memset first, which makes it
meaningless to compare the value of link.link_status in the conditions.

>is no need to update link status according to old link status.
>This patch fix the issue.
>
>Fixes: 80ba61115e77 ("net/e1000: use link status helper functions")
>Cc: stable at dpdk.org
>
>Signed-off-by: Lunyuan Cui <lunyuanx.cui at intel.com>
>---
> drivers/net/e1000/em_ethdev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
>index 9a88b50b2..a3d39a935 100644
>--- a/drivers/net/e1000/em_ethdev.c
>+++ b/drivers/net/e1000/em_ethdev.c
>@@ -1157,7 +1157,7 @@ eth_em_link_update(struct rte_eth_dev *dev, int wait_to_complete)
> 	memset(&link, 0, sizeof(link));
> 
> 	/* Now we check if a transition has happened */
>-	if (link_check && (link.link_status == ETH_LINK_DOWN)) {
>+	if (link_check) {
> 		uint16_t duplex, speed;
> 		hw->mac.ops.get_link_up_info(hw, &speed, &duplex);
> 		link.link_duplex = (duplex == FULL_DUPLEX) ?

Seems you also need to fix the `else if` judgment.

Thanks,
Xiaolong

>-- 
>2.17.1
>


More information about the stable mailing list