mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-25 02:48:21 +00:00
mac80211_hwsim: implement ampdu action
Not that we actually ever aggregate anything, but it could potentially be useful anyhow to simulate aggregation sessions. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
0f78231bff
commit
8b73d13a21
@ -841,6 +841,31 @@ static int mac80211_hwsim_testmode_cmd(struct ieee80211_hw *hw,
|
||||
}
|
||||
#endif
|
||||
|
||||
static int mac80211_hwsim_ampdu_action(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif,
|
||||
enum ieee80211_ampdu_mlme_action action,
|
||||
struct ieee80211_sta *sta, u16 tid, u16 *ssn)
|
||||
{
|
||||
switch (action) {
|
||||
case IEEE80211_AMPDU_TX_START:
|
||||
ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);
|
||||
break;
|
||||
case IEEE80211_AMPDU_TX_STOP:
|
||||
ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
|
||||
break;
|
||||
case IEEE80211_AMPDU_TX_OPERATIONAL:
|
||||
break;
|
||||
case IEEE80211_AMPDU_RX_START:
|
||||
case IEEE80211_AMPDU_RX_STOP:
|
||||
break;
|
||||
default:
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const struct ieee80211_ops mac80211_hwsim_ops =
|
||||
{
|
||||
.tx = mac80211_hwsim_tx,
|
||||
@ -855,6 +880,7 @@ static const struct ieee80211_ops mac80211_hwsim_ops =
|
||||
.set_tim = mac80211_hwsim_set_tim,
|
||||
.conf_tx = mac80211_hwsim_conf_tx,
|
||||
CFG80211_TESTMODE_CMD(mac80211_hwsim_testmode_cmd)
|
||||
.ampdu_action = mac80211_hwsim_ampdu_action,
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user