[Saucy][PATCH 3/6] be2net: fix pmac_id for BE3 VFs
Wen-chien Jesse Sung
jesse.sung at canonical.com
Mon Dec 9 12:38:53 UTC 2013
From: Sathya Perla <sathya.perla at emulex.com>
BugLink: https://launchpad.net/bugs/1257227
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 at emulex.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
(cherry picked from commit b5bb9776b143dcf7931c6e00330bf8d518376760)
Signed-off-by: Wen-chien Jesse Sung <jesse.sung at canonical.com>
---
drivers/net/ethernet/emulex/benet/be_cmds.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index 96df722..47e50d0 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1340,6 +1340,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:
--
1.8.3.2
More information about the kernel-team
mailing list