summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/emulex
diff options
context:
space:
mode:
authorSathya Perla2013-07-23 11:55:01 +0200
committerDavid S. Miller2013-07-25 00:41:52 +0200
commitb5bb9776b143dcf7931c6e00330bf8d518376760 (patch)
treedb59108f5f8760b131f94d0a87ec3c90515e9f49 /drivers/net/ethernet/emulex
parentbe2net: allow VFs to program MAC and VLAN filters (diff)
downloadkernel-qcow2-linux-b5bb9776b143dcf7931c6e00330bf8d518376760.tar.gz
kernel-qcow2-linux-b5bb9776b143dcf7931c6e00330bf8d518376760.tar.xz
kernel-qcow2-linux-b5bb9776b143dcf7931c6e00330bf8d518376760.zip
be2net: fix pmac_id for BE3 VFs
For BE3 VFs, the permanent MAC is added by its PF. The VF can retrieve its pmac_id only via the IFACE_CREATE cmd. This is not true for Lancer and SH-R VFs which get the pmac_id by issuing a ADD_IFACE_MAC cmd. So, use this hack only for BE3 VFs. Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex')
-rw-r--r--drivers/net/ethernet/emulex/benet/be_cmds.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index 5d37601df03f..b384ae7c9da5 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1339,6 +1339,10 @@ int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags,
if (!status) {
struct be_cmd_resp_if_create *resp = embedded_payload(wrb);
*if_handle = le32_to_cpu(resp->interface_id);
+
+ /* Hack to retrieve VF's pmac-id on BE3 */
+ if (BE3_chip(adapter) && !be_physfn(adapter))
+ adapter->pmac_id[0] = le32_to_cpu(resp->pmac_id);
}
err: