If port LSC interrupt is configured, application will read link
status directly, so driver need to prepare that value in advance.

Fixes: 9ae6068c86da ("fm10k: add dev start/stop")
Cc: sta...@dpdk.org

Signed-off-by: Xiao Wang <xiao.w.w...@intel.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index a742eec..54bf10c 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -84,6 +84,8 @@ static void fm10k_MAC_filter_set(struct rte_eth_dev *dev,
 static void fm10k_set_rx_function(struct rte_eth_dev *dev);
 static void fm10k_set_tx_function(struct rte_eth_dev *dev);
 static int fm10k_check_ftag(struct rte_devargs *devargs);
+static int fm10k_link_update(struct rte_eth_dev *dev,
+       __rte_unused int wait_to_complete);
 
 struct fm10k_xstats_name_off {
        char name[RTE_ETH_XSTATS_NAME_SIZE];
@@ -1166,6 +1168,9 @@ static inline int fm10k_glort_valid(struct fm10k_hw *hw)
        if (!(dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_VMDQ_FLAG))
                fm10k_vlan_filter_set(dev, hw->mac.default_vid, true);
 
+       if (dev->data->dev_conf.intr_conf.lsc != 0)
+               fm10k_link_update(dev, 0);
+
        return 0;
 }
 
-- 
1.8.3.1

Reply via email to