bnxt_en: Improve bnxt_vf_update_mac().
authorJeffrey Huang <huangjw@broadcom.com>
Fri, 26 Feb 2016 08:59:59 +0000 (03:59 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 Mar 2016 20:37:00 +0000 (15:37 -0500)
commit3874d6a8b61966a77aa743b4160ba96bf3081ce5
tree7227a9835903939e98ab9137ff2b086e90a170f7
parent0c92c9490be49acbdb9accedc411b8c07a2cf937
bnxt_en: Improve bnxt_vf_update_mac().

Allow the VF to setup its own MAC address if the PF has not administratively
set it for the VF.  To do that, we should always store the MAC address
from the firmware.  There are 2 cases:

1. The MAC address is valid.  This MAC address is assigned by the PF and
it needs to override the current VF MAC address.

2. The MAC address is zero.  The VF will use a random MAC address by default.
By storing this 0 MAC address in the VF structure, it will allow the VF
user to change the MAC address later using ndo_set_mac_address() when
it sees that the stored MAC address is 0.

v2: Expanded descriptions and added more comments.

Signed-off-by: Jeffrey Huang <huangjw@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c