Patch "wifi: wilc1000: Set MAC after operation mode" has been added to the 6.12-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

    wifi: wilc1000: Set MAC after operation mode

to the 6.12-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:
     wifi-wilc1000-set-mac-after-operation-mode.patch
and it can be found in the queue-6.12 subdirectory.

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



commit 6d6fb9b4795e6ad524b32ce69ab5ee5c60ebfbd9
Author: Marek Vasut <marex@xxxxxxx>
Date:   Thu Oct 3 15:24:17 2024 +0200

    wifi: wilc1000: Set MAC after operation mode
    
    [ Upstream commit 29dd3e48b9bd88bf65a1e760126fa18d1def7b30 ]
    
    It seems it is necessary to set WILC MAC address after operation mode,
    otherwise the MAC address of the WILC MAC is reset back to what is in
    nvmem. This causes a failure to associate with AP after the WILC MAC
    address was overridden by userspace.
    
    Test case:
    "
    ap$ cat << EOF > hostap.conf
    interface=wlan0
    ssid=ssid
    hw_mode=g
    channel=6
    wpa=2
    wpa_passphrase=pass
    wpa_key_mgmt=WPA-PSK
    EOF
    ap$ hostapd -d hostap.conf
    ap$ ifconfig wlan0 10.0.0.1
    "
    
    "
    sta$ ifconfig wlan0 hw ether 00:11:22:33:44:55
    sta$ wpa_supplicant -i wlan0 -c <(wpa_passphrase ssid pass)
    sta$ ifconfig wlan0 10.0.0.2
    sta$ ping 10.0.0.1 # fails without this patch
    "
    
    AP still indicates SA with original MAC address from nvmem without this patch:
    "
    nl80211: RX frame da=ff:ff:ff:ff:ff:ff sa=60:01:23:45:67:89 bssid=ff:ff:ff:ff:ff:ff ...
                                              ^^^^^^^^^^^^^^^^^
    "
    
    Fixes: 83d9b54ee5d4 ("wifi: wilc1000: read MAC address from fuse at probe")
    Tested-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx>
    Signed-off-by: Marek Vasut <marex@xxxxxxx>
    Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxx>
    Link: https://patch.msgid.link/20241003132504.52233-1-marex@xxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/microchip/wilc1000/netdev.c b/drivers/net/wireless/microchip/wilc1000/netdev.c
index 9ecf3fb29b558..8bc127c5a538c 100644
--- a/drivers/net/wireless/microchip/wilc1000/netdev.c
+++ b/drivers/net/wireless/microchip/wilc1000/netdev.c
@@ -608,6 +608,9 @@ static int wilc_mac_open(struct net_device *ndev)
 		return ret;
 	}
 
+	wilc_set_operation_mode(vif, wilc_get_vif_idx(vif), vif->iftype,
+				vif->idx);
+
 	netdev_dbg(ndev, "Mac address: %pM\n", ndev->dev_addr);
 	ret = wilc_set_mac_address(vif, ndev->dev_addr);
 	if (ret) {
@@ -618,9 +621,6 @@ static int wilc_mac_open(struct net_device *ndev)
 		return ret;
 	}
 
-	wilc_set_operation_mode(vif, wilc_get_vif_idx(vif), vif->iftype,
-				vif->idx);
-
 	mgmt_regs.interface_stypes = vif->mgmt_reg_stypes;
 	/* so we detect a change */
 	vif->mgmt_reg_stypes = 0;




[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