From: Shahaf Shuler Date: Tue, 10 Apr 2018 06:13:36 +0000 (+0300) Subject: net/mlx5: fix link status initialization X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=a85a606ca501296c81c4b3a5e6b359c7ad7e0a77;p=dpdk.git net/mlx5: fix link status initialization Following commit 7ba5320baa32 ("net/mlx5: fix link status behavior") The initial link status is no longer set as part of the port start. When LSC interrupts are enabled, ethdev layer reads the link status directly from the device data instead of using the PMD callback. This may cause application to query the link as down while in fact it was already up before the DPDK application start (and no interrupt to fix it). Fixes: 7ba5320baa32 ("net/mlx5: fix link status behavior") Cc: stable@dpdk.org Signed-off-by: Shahaf Shuler Acked-by: Yongseok Koh Acked-by: Nelio Laranjeiro --- diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 247cbeda5f..68783c3acc 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -998,6 +998,12 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, DRV_LOG(DEBUG, "port %u forcing Ethernet interface up", eth_dev->data->port_id); mlx5_set_link_up(eth_dev); + /* + * Even though the interrupt handler is not installed yet, + * interrupts will still trigger on the asyn_fd from + * Verbs context returned by ibv_open_device(). + */ + mlx5_link_update(eth_dev, 0); /* Store device configuration on private structure. */ priv->config = config; continue;