From: James Prestwood Date: Wed, 12 Dec 2018 00:52:14 +0000 (-0800) Subject: mac80211_hwsim: fix overwriting of if_combination X-Git-Tag: v5.0-rc1~129^2~46^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=68406a9807e4db562a157df9a958b3b6e2cedb38;p=thirdparty%2Flinux.git mac80211_hwsim: fix overwriting of if_combination Moved setting if_combination.num_different_channels/radar_detect_widths into an else after use_chanctx. In the case of use_chanctx, these two settings were getting overwritten. Signed-off-by: James Prestwood Signed-off-by: Johannes Berg --- diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index 2a5a133f23cfe..e4db8e2b2b548 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c @@ -2751,17 +2751,18 @@ static int mac80211_hwsim_new_radio(struct genl_info *info, hw->wiphy->max_remain_on_channel_duration = 1000; data->if_combination.radar_detect_widths = 0; data->if_combination.num_different_channels = data->channels; - } - - data->if_combination.n_limits = n_limits; - data->if_combination.max_interfaces = 2048; - data->if_combination.num_different_channels = 1; - data->if_combination.radar_detect_widths = + } else { + data->if_combination.num_different_channels = 1; + data->if_combination.radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) | BIT(NL80211_CHAN_WIDTH_20) | BIT(NL80211_CHAN_WIDTH_40) | BIT(NL80211_CHAN_WIDTH_80) | BIT(NL80211_CHAN_WIDTH_160); + } + + data->if_combination.n_limits = n_limits; + data->if_combination.max_interfaces = 2048; data->if_combination.limits = data->if_limits; hw->wiphy->iface_combinations = &data->if_combination;