wifi: mt76: mt7921: prevent decap offload config before STA initialization
authorDeren Wu <deren.wu@mediatek.com>
Sun, 25 May 2025 06:11:22 +0000 (14:11 +0800)
committerFelix Fietkau <nbd@nbd.name>
Mon, 7 Jul 2025 15:42:20 +0000 (17:42 +0200)
The decap offload configuration should only be applied after the STA has
been successfully initialized. Attempting to configure it earlier can lead
to corruption of the MAC configuration in the chip's hardware state.

Add an early check for `msta->deflink.wcid.sta` to ensure the station peer
is properly initialized before proceeding with decapsulation offload
configuration.

Cc: stable@vger.kernel.org
Fixes: 24299fc869f7 ("mt76: mt7921: enable rx header traslation offload")
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Link: https://patch.msgid.link/f23a72ba7a3c1ad38ba9e13bb54ef21d6ef44ffb.1748149855.git.deren.wu@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/main.c

index 1fffa43379b2b20019c268e7612a57924fd6427b..77f73ae1d7eccee776547ce31f83d64e0dee35cb 100644 (file)
@@ -1180,6 +1180,9 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw,
        struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv;
        struct mt792x_dev *dev = mt792x_hw_dev(hw);
 
+       if (!msta->deflink.wcid.sta)
+               return;
+
        mt792x_mutex_acquire(dev);
 
        if (enabled)