|
@@ -340,7 +340,6 @@ int cfg80211_chandef_dfs_required(struct wiphy *wiphy,
|
|
case NL80211_IFTYPE_AP:
|
|
case NL80211_IFTYPE_AP:
|
|
case NL80211_IFTYPE_P2P_GO:
|
|
case NL80211_IFTYPE_P2P_GO:
|
|
case NL80211_IFTYPE_MESH_POINT:
|
|
case NL80211_IFTYPE_MESH_POINT:
|
|
- case NL80211_IFTYPE_UNSPECIFIED:
|
|
|
|
width = cfg80211_chandef_get_width(chandef);
|
|
width = cfg80211_chandef_get_width(chandef);
|
|
if (width < 0)
|
|
if (width < 0)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
@@ -372,6 +371,7 @@ int cfg80211_chandef_dfs_required(struct wiphy *wiphy,
|
|
case NL80211_IFTYPE_WDS:
|
|
case NL80211_IFTYPE_WDS:
|
|
case NL80211_IFTYPE_P2P_DEVICE:
|
|
case NL80211_IFTYPE_P2P_DEVICE:
|
|
break;
|
|
break;
|
|
|
|
+ case NL80211_IFTYPE_UNSPECIFIED:
|
|
case NUM_NL80211_IFTYPES:
|
|
case NUM_NL80211_IFTYPES:
|
|
WARN_ON(1);
|
|
WARN_ON(1);
|
|
}
|
|
}
|
|
@@ -796,8 +796,7 @@ bool cfg80211_reg_can_beacon(struct wiphy *wiphy,
|
|
!cfg80211_go_permissive_chan(rdev, chandef->chan))
|
|
!cfg80211_go_permissive_chan(rdev, chandef->chan))
|
|
prohibited_flags |= IEEE80211_CHAN_NO_IR;
|
|
prohibited_flags |= IEEE80211_CHAN_NO_IR;
|
|
|
|
|
|
- if (cfg80211_chandef_dfs_required(wiphy, chandef,
|
|
|
|
- NL80211_IFTYPE_UNSPECIFIED) > 0 &&
|
|
|
|
|
|
+ if (cfg80211_chandef_dfs_required(wiphy, chandef, iftype) > 0 &&
|
|
cfg80211_chandef_dfs_available(wiphy, chandef)) {
|
|
cfg80211_chandef_dfs_available(wiphy, chandef)) {
|
|
/* We can skip IEEE80211_CHAN_NO_IR if chandef dfs available */
|
|
/* We can skip IEEE80211_CHAN_NO_IR if chandef dfs available */
|
|
prohibited_flags = IEEE80211_CHAN_DISABLED;
|
|
prohibited_flags = IEEE80211_CHAN_DISABLED;
|