aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/init.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-06-11 06:47:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-06-19 15:49:17 -0400
commit78b21949711ee3c877f1aab5b51abe1981e1161d (patch)
tree317ab473cd8a8ca5a96fdd000a5fc70a644868be /drivers/net/wireless/ath/ath9k/init.c
parentc083ce9980109065297aa2171d18980a0ac92bb9 (diff)
ath9k: Implement hw_scan support
Implement hw_scan support for enabling multi-channel cuncurrency. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/init.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/init.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 8bd3e422b82b..9f5e1e4931af 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -61,7 +61,7 @@ static int ath9k_ps_enable;
61module_param_named(ps_enable, ath9k_ps_enable, int, 0444); 61module_param_named(ps_enable, ath9k_ps_enable, int, 0444);
62MODULE_PARM_DESC(ps_enable, "Enable WLAN PowerSave"); 62MODULE_PARM_DESC(ps_enable, "Enable WLAN PowerSave");
63 63
64static int ath9k_use_chanctx; 64int ath9k_use_chanctx;
65module_param_named(use_chanctx, ath9k_use_chanctx, int, 0444); 65module_param_named(use_chanctx, ath9k_use_chanctx, int, 0444);
66MODULE_PARM_DESC(use_chanctx, "Enable channel context for concurrency"); 66MODULE_PARM_DESC(use_chanctx, "Enable channel context for concurrency");
67 67
@@ -566,6 +566,8 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
566 INIT_WORK(&sc->paprd_work, ath_paprd_calibrate); 566 INIT_WORK(&sc->paprd_work, ath_paprd_calibrate);
567 INIT_WORK(&sc->chanctx_work, ath_chanctx_work); 567 INIT_WORK(&sc->chanctx_work, ath_chanctx_work);
568 INIT_DELAYED_WORK(&sc->hw_pll_work, ath_hw_pll_work); 568 INIT_DELAYED_WORK(&sc->hw_pll_work, ath_hw_pll_work);
569 setup_timer(&sc->offchannel.timer, ath_offchannel_timer,
570 (unsigned long)sc);
569 571
570 /* 572 /*
571 * Cache line size is used to size and align various 573 * Cache line size is used to size and align various
@@ -745,8 +747,11 @@ static void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
745 if (!ath9k_use_chanctx) { 747 if (!ath9k_use_chanctx) {
746 hw->wiphy->n_iface_combinations = ARRAY_SIZE(if_comb); 748 hw->wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
747 hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_WDS); 749 hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_WDS);
748 } else 750 } else {
749 hw->wiphy->n_iface_combinations = 1; 751 hw->wiphy->n_iface_combinations = 1;
752 hw->wiphy->max_scan_ssids = 255;
753 hw->wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN;
754 }
750 } 755 }
751 756
752 hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; 757 hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;