• Jacob Keller's avatar
    i40e: don't report link up for a VF who hasn't enabled queues · 2ad1274f
    Jacob Keller authored
    Commit d3d657a9 ("i40e: update VFs of link state after
    GET_VF_RESOURCES") modified the PF driver to notify a VF of
    its link status immediately after it requests resources.
    
    This was intended to fix reporting on VF drivers, so that they would
    properly report link status.
    
    However, some older VF drivers do not respond well to receiving a link
    up notification before queues are enabled. This can cause their state
    machine to think that it is safe to send traffic. This results in a Tx
    hang on the VF.
    
    More recent versions of the old i40evf and all versions of iavf are
    resilient to these early link status messages. However, if a VM happens
    to run an older version of the VF driver, this can be problematic.
    
    Record whether the PF has actually enabled queues for the VF. When
    reporting link status, always report link down if the queues aren't
    enabled. In this way, the VF driver will never receive a link up
    notification until after its queues are enabled.
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    2ad1274f
i40e_virtchnl_pf.c 118 KB