|
@@ -36,9 +36,12 @@ void mt76x2_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
|
|
|
|
|
|
msta = (struct mt76x2_sta *) control->sta->drv_priv;
|
|
|
wcid = &msta->wcid;
|
|
|
+ /* sw encrypted frames */
|
|
|
+ if (!info->control.hw_key && wcid->hw_key_idx != -1)
|
|
|
+ control->sta = NULL;
|
|
|
}
|
|
|
|
|
|
- if (vif || (!info->control.hw_key && wcid->hw_key_idx != -1)) {
|
|
|
+ if (vif && !control->sta) {
|
|
|
struct mt76x2_vif *mvif;
|
|
|
|
|
|
mvif = (struct mt76x2_vif *) vif->drv_priv;
|