• Pavel Fedin's avatar
    net: thunderx: Correctly distinguish between VF and LMAC count · f406ce42
    Pavel Fedin authored
    Commit bc69fdfc
    ("net: thunderx: Enable BGX LMAC's RX/TX only after VF is up")
    introduces lmac_cnt member and starts verifying VF number against it.
    This is plain wrong, and works only because currently we have hardcoded
    1:1 mapping between VFs and LMACs, and in this case num_vf_en and
    lmac_cnt are always equal. However in future this may change, and the
    code will badly misbehave. The worst consequence of this is failure to
    deliver link status messages, causing VFs to go defunct because since
    commit 0b72a9a1 ("net: thunderx: Switchon carrier only upon
    interface link up") VF will not fully bring itself up without it.
    
    This patch fixes the potential problem by doing VF number checks against
    the num_vf_en. Since lmac_cnt is not used anywhere else, it is removed.
    
    Additionally some duplicated code is factored out into nic_enable_vf()
    Signed-off-by: default avatarPavel Fedin <p.fedin@samsung.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f406ce42
nic_main.c 29.3 KB