]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ibmvnic: save changed mac address to adapter->mac_addr
authorLijun Pan <ljp@linux.ibm.com>
Tue, 20 Oct 2020 22:39:19 +0000 (17:39 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 09:07:05 +0000 (10:07 +0100)
[ Upstream commit d9b0e599b2b892422f1cbc5d2658049b895b2b58 ]

After mac address change request completes successfully, the new mac
address need to be saved to adapter->mac_addr as well as
netdev->dev_addr. Otherwise, adapter->mac_addr still holds old
data.

Fixes: 62740e97881c ("net/ibmvnic: Update MAC address settings after adapter reset")
Signed-off-by: Lijun Pan <ljp@linux.ibm.com>
Link: https://lore.kernel.org/r/20201020223919.46106-1-ljp@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/ibm/ibmvnic.c

index 1b702a43a5d01ef93c169bc40da164a07e83f144..4dd3625a4fbc8b8a7ff0a1a05b4bf79dedb60334 100644 (file)
@@ -4194,8 +4194,13 @@ static int handle_change_mac_rsp(union ibmvnic_crq *crq,
                dev_err(dev, "Error %ld in CHANGE_MAC_ADDR_RSP\n", rc);
                goto out;
        }
+       /* crq->change_mac_addr.mac_addr is the requested one
+        * crq->change_mac_addr_rsp.mac_addr is the returned valid one.
+        */
        ether_addr_copy(netdev->dev_addr,
                        &crq->change_mac_addr_rsp.mac_addr[0]);
+       ether_addr_copy(adapter->mac_addr,
+                       &crq->change_mac_addr_rsp.mac_addr[0]);
 out:
        complete(&adapter->fw_done);
        return rc;