Patch "net: enetc: set MAC address to the VF net_device" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: enetc: set MAC address to the VF net_device

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-enetc-set-mac-address-to-the-vf-net_device.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 8ace62f3cec58ace817ac9448d58d4b11e546514
Author: Wei Fang <wei.fang@xxxxxxx>
Date:   Tue Oct 29 17:04:06 2024 +0800

    net: enetc: set MAC address to the VF net_device
    
    [ Upstream commit badccd49b93bb945bf4e5cc8707db67cdc5e27e5 ]
    
    The MAC address of VF can be configured through the mailbox mechanism of
    ENETC, but the previous implementation forgot to set the MAC address in
    net_device, resulting in the SMAC of the sent frames still being the old
    MAC address. Since the MAC address in the hardware has been changed, Rx
    cannot receive frames with the DMAC address as the new MAC address. The
    most obvious phenomenon is that after changing the MAC address, we can
    see that the MAC address of eno0vf0 has not changed through the "ifconfig
    eno0vf0" command and the IP address cannot be obtained .
    
    root@ls1028ardb:~# ifconfig eno0vf0 down
    root@ls1028ardb:~# ifconfig eno0vf0 hw ether 00:04:9f:3a:4d:56 up
    root@ls1028ardb:~# ifconfig eno0vf0
    eno0vf0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            ether 66:36:2c:3b:87:76  txqueuelen 1000  (Ethernet)
            RX packets 794  bytes 69239 (69.2 KB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 11  bytes 2226 (2.2 KB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support")
    Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
    Reviewed-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
    Reviewed-by: Claudiu Manoil <claudiu.manoil@xxxxxxx>
    Link: https://patch.msgid.link/20241029090406.841836-1-wei.fang@xxxxxxx
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/freescale/enetc/enetc_vf.c b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
index acd4a3167ed6a..88dfcebf2b873 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc_vf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
@@ -78,11 +78,18 @@ static int enetc_vf_set_mac_addr(struct net_device *ndev, void *addr)
 {
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
 	struct sockaddr *saddr = addr;
+	int err;
 
 	if (!is_valid_ether_addr(saddr->sa_data))
 		return -EADDRNOTAVAIL;
 
-	return enetc_msg_vsi_set_primary_mac_addr(priv, saddr);
+	err = enetc_msg_vsi_set_primary_mac_addr(priv, saddr);
+	if (err)
+		return err;
+
+	eth_hw_addr_set(ndev, saddr->sa_data);
+
+	return 0;
 }
 
 static int enetc_vf_set_features(struct net_device *ndev,




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux