ixgbe: fix link speed detection of ixgbevf
PATCH 1/1 ixgbe: fix link speed detection of ixgbevf
Link speed of virtual function is detected as default speed(100Mbps, half-duplex). Before checking VF link, get_link_status must be set.
Checking link status
PMD: ixgbe_check_for_rst_vf(): ixgbe_check_for_rst_vf done
PMD: ixgbe_check_for_rst_vf(): ixgbe_check_for_rst_vf Port 0 Link Up - speed 100 Mbps - half-duplex
--- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 1 + 1 file changed, 1 insertion(+)
lib/librte_pmd_ixgbe/ixgbe_ethdev.c +1 -0
@@ -2002,6 +2002,7 @@ ixgbe_dev_link_update(struct rte_eth_dev *dev, int wait_to_complete)memset (&old,0 ,sizeof (old));rte_ixgbe_dev_atomic_read_link_status (dev, &old); + hw->mac.get_link_status =1 ;/* check if it needs to wait to complete, if lsc interrupt is enabled */ if (wait_to_complete ==0 || dev->data->dev_conf.intr_conf.lsc !=0 ) diag =ixgbe_check_link (hw, &link_speed, &link_up,0 );
Signature · 1 line
1.9.1
A message that is not in the archive (sent off-list or not yet received): 1415538088-11249-1-git-send-email-choonho.son-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
This patch is actually a workaround to the problem. By setting get_link_status just before calling ixgbe_check_link defeats the whole purpose of the variable and results in _always_ getting the link status. I think that this patch should be superseded by the following patch: