diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-04-17 00:05:41 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-04-17 00:05:41 +0000 |
commit | 442b9d46bb8bb06c9c9ee1fb16cb2bb7398fd430 (patch) | |
tree | 3bcd4626d608884084d35fa1fc0f86ba3d83f409 /package/mac80211/patches/300-pending_work.patch | |
parent | ecbadaac0e933f455a1b7cf9eef7c06c252f6a4e (diff) |
ath9k/ath5k: fix driver load issues with mesh support compiled out
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31326 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/300-pending_work.patch')
-rw-r--r-- | package/mac80211/patches/300-pending_work.patch | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch index 9afe20e8c..23b992d35 100644 --- a/package/mac80211/patches/300-pending_work.patch +++ b/package/mac80211/patches/300-pending_work.patch @@ -18,27 +18,30 @@ return; ewma_add(&ah->ah_beacon_rssi_avg, rssi); -@@ -2416,6 +2416,19 @@ ath5k_tx_complete_poll_work(struct work_ +@@ -2416,6 +2416,22 @@ ath5k_tx_complete_poll_work(struct work_ * Initialization routines * \*************************/ +static const struct ieee80211_iface_limit if_limits[] = { -+ { .max = 256, .types = BIT(NL80211_IFTYPE_STATION) }, -+ { .max = 4, .types = BIT(NL80211_IFTYPE_AP) | -+ BIT(NL80211_IFTYPE_MESH_POINT) }, ++ { .max = 2048, .types = BIT(NL80211_IFTYPE_STATION) }, ++ { .max = 4, .types = ++#ifdef CONFIG_MAC80211_MESH ++ BIT(NL80211_IFTYPE_MESH_POINT) | ++#endif ++ BIT(NL80211_IFTYPE_AP) }, +}; + +static const struct ieee80211_iface_combination if_comb = { + .limits = if_limits, + .n_limits = ARRAY_SIZE(if_limits), -+ .max_interfaces = 256, ++ .max_interfaces = 2048, + .num_different_channels = 1, +}; + int __devinit ath5k_init_ah(struct ath5k_hw *ah, const struct ath_bus_ops *bus_ops) { -@@ -2437,6 +2450,9 @@ ath5k_init_ah(struct ath5k_hw *ah, const +@@ -2437,6 +2453,9 @@ ath5k_init_ah(struct ath5k_hw *ah, const BIT(NL80211_IFTYPE_ADHOC) | BIT(NL80211_IFTYPE_MESH_POINT); @@ -826,29 +829,32 @@ WLAN_STA_BLOCK_BA, --- a/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -647,6 +647,21 @@ void ath9k_reload_chainmask_settings(str +@@ -647,6 +647,24 @@ void ath9k_reload_chainmask_settings(str setup_ht_cap(sc, &sc->sbands[IEEE80211_BAND_5GHZ].ht_cap); } +static const struct ieee80211_iface_limit if_limits[] = { -+ { .max = 256, .types = BIT(NL80211_IFTYPE_STATION) | ++ { .max = 2048, .types = BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_P2P_CLIENT) | + BIT(NL80211_IFTYPE_WDS) }, -+ { .max = 8, .types = BIT(NL80211_IFTYPE_AP) | -+ BIT(NL80211_IFTYPE_P2P_GO) | -+ BIT(NL80211_IFTYPE_MESH_POINT) }, ++ { .max = 8, .types = ++#ifdef CONFIG_MAC80211_MESH ++ BIT(NL80211_IFTYPE_MESH_POINT) | ++#endif ++ BIT(NL80211_IFTYPE_AP) | ++ BIT(NL80211_IFTYPE_P2P_GO) }, +}; + +static const struct ieee80211_iface_combination if_comb = { + .limits = if_limits, + .n_limits = ARRAY_SIZE(if_limits), -+ .max_interfaces = 256, ++ .max_interfaces = 2048, + .num_different_channels = 1, +}; void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw) { -@@ -676,6 +691,9 @@ void ath9k_set_hw_capab(struct ath_softc +@@ -676,6 +694,9 @@ void ath9k_set_hw_capab(struct ath_softc BIT(NL80211_IFTYPE_ADHOC) | BIT(NL80211_IFTYPE_MESH_POINT); |