diff options
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 1b224fa27367..ad1e58184c4e 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -3796,9 +3796,7 @@ int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata, | |||
3796 | } | 3796 | } |
3797 | 3797 | ||
3798 | /* Always allow software iftypes */ | 3798 | /* Always allow software iftypes */ |
3799 | if (local->hw.wiphy->software_iftypes & BIT(iftype) || | 3799 | if (cfg80211_iftype_allowed(local->hw.wiphy, iftype, 0, 1)) { |
3800 | (iftype == NL80211_IFTYPE_AP_VLAN && | ||
3801 | local->hw.wiphy->flags & WIPHY_FLAG_4ADDR_AP)) { | ||
3802 | if (radar_detect) | 3800 | if (radar_detect) |
3803 | return -EINVAL; | 3801 | return -EINVAL; |
3804 | return 0; | 3802 | return 0; |
@@ -3833,7 +3831,8 @@ int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata, | |||
3833 | 3831 | ||
3834 | if (sdata_iter == sdata || | 3832 | if (sdata_iter == sdata || |
3835 | !ieee80211_sdata_running(sdata_iter) || | 3833 | !ieee80211_sdata_running(sdata_iter) || |
3836 | local->hw.wiphy->software_iftypes & BIT(wdev_iter->iftype)) | 3834 | cfg80211_iftype_allowed(local->hw.wiphy, |
3835 | wdev_iter->iftype, 0, 1)) | ||
3837 | continue; | 3836 | continue; |
3838 | 3837 | ||
3839 | params.iftype_num[wdev_iter->iftype]++; | 3838 | params.iftype_num[wdev_iter->iftype]++; |