diff options
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 38b3468bc515..9cdbc774cfd7 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -621,6 +621,9 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, | |||
621 | 621 | ||
622 | INIT_WORK(&local->restart_work, ieee80211_restart_work); | 622 | INIT_WORK(&local->restart_work, ieee80211_restart_work); |
623 | 623 | ||
624 | INIT_WORK(&local->radar_detected_work, | ||
625 | ieee80211_dfs_radar_detected_work); | ||
626 | |||
624 | INIT_WORK(&local->reconfig_filter, ieee80211_reconfig_filter); | 627 | INIT_WORK(&local->reconfig_filter, ieee80211_reconfig_filter); |
625 | local->smps_mode = IEEE80211_SMPS_OFF; | 628 | local->smps_mode = IEEE80211_SMPS_OFF; |
626 | 629 | ||
@@ -713,6 +716,16 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
713 | */ | 716 | */ |
714 | if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_WDS)) | 717 | if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_WDS)) |
715 | return -EINVAL; | 718 | return -EINVAL; |
719 | |||
720 | /* DFS currently not supported with channel context drivers */ | ||
721 | for (i = 0; i < local->hw.wiphy->n_iface_combinations; i++) { | ||
722 | const struct ieee80211_iface_combination *comb; | ||
723 | |||
724 | comb = &local->hw.wiphy->iface_combinations[i]; | ||
725 | |||
726 | if (comb->radar_detect_widths) | ||
727 | return -EINVAL; | ||
728 | } | ||
716 | } | 729 | } |
717 | 730 | ||
718 | /* Only HW csum features are currently compatible with mac80211 */ | 731 | /* Only HW csum features are currently compatible with mac80211 */ |