Commit 8431706b authored by Ivan Vecera's avatar Ivan Vecera Committed by David S. Miller

be2net: don't report EVB for older chipsets when SR-IOV is disabled

The EVB (virtual bridge) functionality should be disabled on older BE3
and Lancer chips if SR-IOV is disabled in the NIC's BIOS. This setting
is identified by the zero value of total VFs reported by the card.
The GET_HSW_CONFIG command cannot be used as it is not supported by
these older chipset's FW.

v2: added the comment

Cc: Sathya Perla <sathya.perla@broadcom.com>
Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
Cc: Padmanabh Ratnakar <padmanabh.ratnakar@broadcom.com>
Cc: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Cc: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: default avatarIvan Vecera <ivecera@redhat.com>
Acked-by: default avatarSathya Perla <sathya.perla@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6dca8d45
...@@ -4617,6 +4617,9 @@ static int be_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, ...@@ -4617,6 +4617,9 @@ static int be_ndo_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
/* BE and Lancer chips support VEB mode only */ /* BE and Lancer chips support VEB mode only */
if (BEx_chip(adapter) || lancer_chip(adapter)) { if (BEx_chip(adapter) || lancer_chip(adapter)) {
/* VEB is disabled in non-SR-IOV profiles on BE3/Lancer */
if (!pci_sriov_get_totalvfs(adapter->pdev))
return 0;
hsw_mode = PORT_FWD_TYPE_VEB; hsw_mode = PORT_FWD_TYPE_VEB;
} else { } else {
status = be_cmd_get_hsw_config(adapter, NULL, 0, status = be_cmd_get_hsw_config(adapter, NULL, 0,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment