aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorZefir Kurtisi <zefir.kurtisi@neratec.com>2013-04-03 12:31:29 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-04-08 15:28:38 -0400
commite9cdedf693ac0c8e0bedb8896371bf565bf5d68b (patch)
tree06ec6ce5a15e57bdc4d4eca7724038a9f0132554 /drivers/net/wireless
parentfedf1d809cb05662d57c447dbb1559f3f563bf4f (diff)
ath9k: add interface combinations for DFS master
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath9k/init.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index af932c9444de..385c59a735a8 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -727,12 +727,28 @@ static const struct ieee80211_iface_limit if_limits[] = {
727 BIT(NL80211_IFTYPE_P2P_GO) }, 727 BIT(NL80211_IFTYPE_P2P_GO) },
728}; 728};
729 729
730static const struct ieee80211_iface_combination if_comb = { 730
731 .limits = if_limits, 731static const struct ieee80211_iface_limit if_dfs_limits[] = {
732 .n_limits = ARRAY_SIZE(if_limits), 732 { .max = 1, .types = BIT(NL80211_IFTYPE_AP) },
733 .max_interfaces = 2048, 733};
734 .num_different_channels = 1, 734
735 .beacon_int_infra_match = true, 735static const struct ieee80211_iface_combination if_comb[] = {
736 {
737 .limits = if_limits,
738 .n_limits = ARRAY_SIZE(if_limits),
739 .max_interfaces = 2048,
740 .num_different_channels = 1,
741 .beacon_int_infra_match = true,
742 },
743 {
744 .limits = if_dfs_limits,
745 .n_limits = ARRAY_SIZE(if_dfs_limits),
746 .max_interfaces = 1,
747 .num_different_channels = 1,
748 .beacon_int_infra_match = true,
749 .radar_detect_widths = BIT(NL80211_CHAN_NO_HT) |
750 BIT(NL80211_CHAN_HT20),
751 }
736}; 752};
737 753
738void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw) 754void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
@@ -763,8 +779,8 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
763 BIT(NL80211_IFTYPE_ADHOC) | 779 BIT(NL80211_IFTYPE_ADHOC) |
764 BIT(NL80211_IFTYPE_MESH_POINT); 780 BIT(NL80211_IFTYPE_MESH_POINT);
765 781
766 hw->wiphy->iface_combinations = &if_comb; 782 hw->wiphy->iface_combinations = if_comb;
767 hw->wiphy->n_iface_combinations = 1; 783 hw->wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
768 784
769 if (AR_SREV_5416(sc->sc_ah)) 785 if (AR_SREV_5416(sc->sc_ah))
770 hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; 786 hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;