linux/drivers/net/ethernet/cavium
Pavel Fedin f406ce4234 net: thunderx: Correctly distinguish between VF and LMAC count
Commit bc69fdfc6c
("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 0b72a9a106 ("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: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-12-08 22:44:55 -05:00
..
liquidio net: cavium: liquidio: constify pci_error_handlers structures 2015-11-16 15:07:28 -05:00
thunder net: thunderx: Correctly distinguish between VF and LMAC count 2015-12-08 22:44:55 -05:00
Kconfig net: cavium: change NET_VENDOR_CAVIUM to bool 2015-10-21 19:12:16 -07:00
Makefile Add support of Cavium Liquidio ethernet adapters 2015-06-10 22:44:08 -07:00