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 caa317faee3c..286c7ee35e63 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -3856,9 +3856,7 @@ int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata, | |||
3856 | } | 3856 | } |
3857 | 3857 | ||
3858 | /* Always allow software iftypes */ | 3858 | /* Always allow software iftypes */ |
3859 | if (local->hw.wiphy->software_iftypes & BIT(iftype) || | 3859 | if (cfg80211_iftype_allowed(local->hw.wiphy, iftype, 0, 1)) { |
3860 | (iftype == NL80211_IFTYPE_AP_VLAN && | ||
3861 | local->hw.wiphy->flags & WIPHY_FLAG_4ADDR_AP)) { | ||
3862 | if (radar_detect) | 3860 | if (radar_detect) |
3863 | return -EINVAL; | 3861 | return -EINVAL; |
3864 | return 0; | 3862 | return 0; |
@@ -3893,7 +3891,8 @@ int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata, | |||
3893 | 3891 | ||
3894 | if (sdata_iter == sdata || | 3892 | if (sdata_iter == sdata || |
3895 | !ieee80211_sdata_running(sdata_iter) || | 3893 | !ieee80211_sdata_running(sdata_iter) || |
3896 | local->hw.wiphy->software_iftypes & BIT(wdev_iter->iftype)) | 3894 | cfg80211_iftype_allowed(local->hw.wiphy, |
3895 | wdev_iter->iftype, 0, 1)) | ||
3897 | continue; | 3896 | continue; |
3898 | 3897 | ||
3899 | params.iftype_num[wdev_iter->iftype]++; | 3898 | params.iftype_num[wdev_iter->iftype]++; |