be2net: Fix mac address collision in some configurations
authorSuresh Reddy <Suresh.Reddy@broadcom.com>
Wed, 7 Sep 2016 14:27:53 +0000 (19:57 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Sep 2016 05:44:56 +0000 (22:44 -0700)
commitc27ebf58517536c0006813007680b24db17def47
tree1b04757f61b15326a8d04cd6496b1dd4afc2c0e5
parent988d44b1636d7f608bd7926493e0f61a034b61db
be2net: Fix mac address collision in some configurations

If the device mac address is updated using ndo_set_mac_address(),
while the same mac address is already programmed, the driver does not
detect this condition if its netdev->dev_addr has been changed. The
driver tries to add the same mac address resulting in mac address
collision error. This has been observed in bonding mode-5 configuration.

To fix this, store the mac address configured in HW in the adapter
structure. Use this to compare against the new address being updated
to avoid collision.

Signed-off-by: Suresh Reddy <Suresh.Reddy@broadcom.com>
Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/emulex/benet/be_main.c