ibmvnic: Fix pending MAC address changes
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Thu, 11 Jan 2018 01:39:52 +0000 (19:39 -0600)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Jan 2018 16:26:16 +0000 (11:26 -0500)
commit3d1661304f0b2b51a8a43785b764822611dbdd53
tree7c54b481c0039bc6be804bdda6b5ee349272dc5f
parent6311b7ce42e0c1d6d944bc099dc47e936c20cf11
ibmvnic: Fix pending MAC address changes

Due to architecture limitations, the IBM VNIC client driver is unable
to perform MAC address changes unless the device has "logged in" to
its backing device. Currently, pending MAC changes are handled before
login, resulting in an error and failure to change the MAC address.
Moving that chunk to the end of the ibmvnic_login function, when we are
sure that it was successful, fixes that.

The MAC address can be changed when the device is up or down, so
only check if the device is in a "PROBED" state before setting the
MAC address.

Fixes: c26eba03e407 ("ibmvnic: Update reset infrastructure to support tunable parameters")
Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Reviewed-by: John Allen <jallen@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c