mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: mt7915: send the STA_REC before the VoW group setup
__mt7915_mcu_add_sta() issued the SET_DRR_CTRL command that assigns the VoW BSS group before sending the STA_REC that instantiates the station in the firmware, and dropped the STA_REC skb unsent if that command was rejected. On mt7996 the same ordering made client mode association fail once the command occupying that slot started to depend on the station record already existing. Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+7
-6
@@ -1790,11 +1790,6 @@ int __mt7915_mcu_add_sta(struct mt7915_dev *dev, struct ieee80211_vif *vif,
|
|||||||
mt7915_mcu_sta_bfee_tlv(dev, skb, vif, sta);
|
mt7915_mcu_sta_bfee_tlv(dev, skb, vif, sta);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = mt7915_mcu_add_group(dev, vif, sta);
|
|
||||||
if (ret) {
|
|
||||||
dev_kfree_skb(skb);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
out:
|
out:
|
||||||
ret = mt76_connac_mcu_sta_wed_update(&dev->mt76, skb);
|
ret = mt76_connac_mcu_sta_wed_update(&dev->mt76, skb);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
@@ -1802,8 +1797,14 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
return mt76_mcu_skb_send_msg(&dev->mt76, skb,
|
ret = mt76_mcu_skb_send_msg(&dev->mt76, skb,
|
||||||
MCU_EXT_CMD(STA_REC_UPDATE), true);
|
MCU_EXT_CMD(STA_REC_UPDATE), true);
|
||||||
|
if (ret || conn_state == CONN_STATE_DISCONNECT)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
mt7915_mcu_add_group(dev, vif, sta);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int mt7915_mcu_wed_enable_rx_stats(struct mt7915_dev *dev)
|
int mt7915_mcu_wed_enable_rx_stats(struct mt7915_dev *dev)
|
||||||
|
|||||||
Reference in New Issue
Block a user