mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 03:01:41 +02:00
wifi: mac80211_hwsim: set HAS_RATE_CONTROL when using NAN
- NAN switches between bands/channels per its schedule, so mac80211 rate control can't work, set HAS_RATE_CONTROL instead. - Skip rate control checks for NAN interfaces in mac80211_hwsim_sta_rc_update() as it's not relevant. - Move set_rts_threshold stub to HWSIM_COMMON_OPS and return 0 instead of -EOPNOTSUPP to prevent failures in non-MLO tests that set RTS threshold (hwsim ignores the use_rts instruction from mac80211 anyway). Signed-off-by: Daniel Gabay <daniel.gabay@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260506064301.216e68be61ac.If9ef94a12cec8dfc55416afaf745d6e5025a5ec9@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
a6ea8948e3
commit
60e3398726
|
|
@ -2747,6 +2747,10 @@ mac80211_hwsim_sta_rc_update(struct ieee80211_hw *hw,
|
|||
u32 bw = U32_MAX;
|
||||
int link_id;
|
||||
|
||||
if (vif->type == NL80211_IFTYPE_NAN ||
|
||||
vif->type == NL80211_IFTYPE_NAN_DATA)
|
||||
return;
|
||||
|
||||
rcu_read_lock();
|
||||
for (link_id = 0;
|
||||
link_id < ARRAY_SIZE(vif->link_conf);
|
||||
|
|
@ -3475,7 +3479,8 @@ static int mac80211_hwsim_tx_last_beacon(struct ieee80211_hw *hw)
|
|||
static int mac80211_hwsim_set_rts_threshold(struct ieee80211_hw *hw,
|
||||
int radio_idx, u32 value)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
/* hwsim ignores the use_rts instruction from mac80211 anyway */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mac80211_hwsim_change_vif_links(struct ieee80211_hw *hw,
|
||||
|
|
@ -4239,6 +4244,7 @@ static int mac80211_hwsim_set_radar_background(struct ieee80211_hw *hw,
|
|||
.abort_pmsr = mac80211_hwsim_abort_pmsr, \
|
||||
.set_radar_background = mac80211_hwsim_set_radar_background, \
|
||||
.set_key = mac80211_hwsim_set_key, \
|
||||
.set_rts_threshold = mac80211_hwsim_set_rts_threshold, \
|
||||
.start_nan = mac80211_hwsim_nan_start, \
|
||||
.stop_nan = mac80211_hwsim_nan_stop, \
|
||||
.nan_change_conf = mac80211_hwsim_nan_change_config, \
|
||||
|
|
@ -4284,7 +4290,6 @@ static const struct ieee80211_ops mac80211_hwsim_mchan_ops = {
|
|||
static const struct ieee80211_ops mac80211_hwsim_mlo_ops = {
|
||||
HWSIM_COMMON_OPS
|
||||
HWSIM_CHANCTX_OPS
|
||||
.set_rts_threshold = mac80211_hwsim_set_rts_threshold,
|
||||
.change_vif_links = mac80211_hwsim_change_vif_links,
|
||||
.change_sta_links = mac80211_hwsim_change_sta_links,
|
||||
.sta_state = mac80211_hwsim_sta_state,
|
||||
|
|
@ -5726,6 +5731,12 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
|
|||
hw->wiphy->nan_capa.phy.ht = hwsim_nan_ht_cap;
|
||||
hw->wiphy->nan_capa.phy.vht = hwsim_nan_vht_cap;
|
||||
hw->wiphy->nan_capa.phy.he = hwsim_nan_he_cap;
|
||||
|
||||
/*
|
||||
* NAN switches between bands/channels per its schedule,
|
||||
* so mac80211 rate control can't work here.
|
||||
*/
|
||||
ieee80211_hw_set(hw, HAS_RATE_CONTROL);
|
||||
}
|
||||
|
||||
data->if_combination.radar_detect_widths =
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user