@@ -1219,6 +1219,16 @@ void mt76_connac_mcu_sta_ba_tlv(struct sk_buff *skb,
1219
1219
}
1220
1220
EXPORT_SYMBOL_GPL (mt76_connac_mcu_sta_ba_tlv );
1221
1221
1222
+ int mt76_connac_mcu_sta_wed_update (struct mt76_dev * dev , struct sk_buff * skb )
1223
+ {
1224
+ if (!mtk_wed_device_active (& dev -> mmio .wed ))
1225
+ return 0 ;
1226
+
1227
+ return mtk_wed_device_update_msg (& dev -> mmio .wed , WED_WO_STA_REC ,
1228
+ skb -> data , skb -> len );
1229
+ }
1230
+ EXPORT_SYMBOL_GPL (mt76_connac_mcu_sta_wed_update );
1231
+
1222
1232
int mt76_connac_mcu_sta_ba (struct mt76_dev * dev , struct mt76_vif * mvif ,
1223
1233
struct ieee80211_ampdu_params * params ,
1224
1234
int cmd , bool enable , bool tx )
@@ -1244,6 +1254,10 @@ int mt76_connac_mcu_sta_ba(struct mt76_dev *dev, struct mt76_vif *mvif,
1244
1254
mt76_connac_mcu_wtbl_ba_tlv (dev , skb , params , enable , tx , sta_wtbl ,
1245
1255
wtbl_hdr );
1246
1256
1257
+ ret = mt76_connac_mcu_sta_wed_update (dev , skb );
1258
+ if (ret )
1259
+ return ret ;
1260
+
1247
1261
ret = mt76_mcu_skb_send_msg (dev , skb , cmd , true);
1248
1262
if (ret )
1249
1263
return ret ;
@@ -1254,6 +1268,10 @@ int mt76_connac_mcu_sta_ba(struct mt76_dev *dev, struct mt76_vif *mvif,
1254
1268
1255
1269
mt76_connac_mcu_sta_ba_tlv (skb , params , enable , tx );
1256
1270
1271
+ ret = mt76_connac_mcu_sta_wed_update (dev , skb );
1272
+ if (ret )
1273
+ return ret ;
1274
+
1257
1275
return mt76_mcu_skb_send_msg (dev , skb , cmd , true);
1258
1276
}
1259
1277
EXPORT_SYMBOL_GPL (mt76_connac_mcu_sta_ba );
@@ -2696,6 +2714,10 @@ int mt76_connac_mcu_add_key(struct mt76_dev *dev, struct ieee80211_vif *vif,
2696
2714
if (ret )
2697
2715
return ret ;
2698
2716
2717
+ ret = mt76_connac_mcu_sta_wed_update (dev , skb );
2718
+ if (ret )
2719
+ return ret ;
2720
+
2699
2721
return mt76_mcu_skb_send_msg (dev , skb , mcu_cmd , true);
2700
2722
}
2701
2723
EXPORT_SYMBOL_GPL (mt76_connac_mcu_add_key );
0 commit comments