DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/mlx5: fix eagain on admin down
@ 2019-12-09 18:23 Mike Manning
  2019-12-12 22:30 ` Thomas Monjalon
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Manning @ 2019-12-09 18:23 UTC (permalink / raw)
  To: dev; +Cc: Nélio Laranjeiro

The check in mlx5_link_update_unlocked_gs() returns -EAGAIN if link
status does not correspond to link speed. If status is DOWN, the speed
is expected to be ETH_SPEED_NUM_NONE (0). But as the link speed is -1
on admin down, modify the check to account for this.

Fixes: cfee94752b8f ("net/mlx5: fix link status to use wait to complete")
Cc: Nélio Laranjeiro <nelio.laranjeiro@6wind.com>

Signed-off-by: Mike Manning <mmanning@vyatta.att-mail.com>
---
 drivers/net/mlx5/mlx5_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index d80ae458b..6ef2dfd74 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -1031,8 +1031,8 @@ mlx5_link_update_unlocked_gs(struct rte_eth_dev *dev,
 				ETH_LINK_HALF_DUPLEX : ETH_LINK_FULL_DUPLEX);
 	dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
 				  ETH_LINK_SPEED_FIXED);
-	if (((dev_link.link_speed && !dev_link.link_status) ||
-	     (!dev_link.link_speed && dev_link.link_status))) {
+	if ((((int)dev_link.link_speed > 0 && !dev_link.link_status) ||
+	     ((int)dev_link.link_speed <= 0 && dev_link.link_status))) {
 		rte_errno = EAGAIN;
 		return -rte_errno;
 	}
-- 
2.11.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-12-14  9:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-09 18:23 [dpdk-dev] [PATCH] net/mlx5: fix eagain on admin down Mike Manning
2019-12-12 22:30 ` Thomas Monjalon
2019-12-13 14:43   ` Slava Ovsiienko
2019-12-13 15:11     ` Mike Manning
2019-12-14  9:40       ` Slava Ovsiienko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).