summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-20 18:14:35 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-20 18:14:35 +0000
commit83ef4a5fc6aa15e649ac8e18113ef2d41888039b (patch)
treef19cbced5cf203a403fd0ff0f146c034c8b79490 /package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch
parent2be8e603e027c718d8fc66c352c861d3dc9bb662 (diff)
mac80211: update to wireless-testing 2011-04-19, contains several beacon related fixes for ath9k
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26744 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch')
-rw-r--r--package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch23
1 files changed, 20 insertions, 3 deletions
diff --git a/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch b/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch
index b03a0661c..d63724e90 100644
--- a/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch
+++ b/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch
@@ -1,11 +1,12 @@
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1483,14 +1483,6 @@ static int ath9k_add_interface(struct ie
+@@ -1439,15 +1439,6 @@ static int ath9k_add_interface(struct ie
}
}
-- if ((vif->type == NL80211_IFTYPE_ADHOC) &&
-- sc->nvifs > 0) {
+- if ((ah->opmode == NL80211_IFTYPE_ADHOC) ||
+- ((vif->type == NL80211_IFTYPE_ADHOC) &&
+- sc->nvifs > 0)) {
- ath_err(common, "Cannot create ADHOC interface when other"
- " interfaces already exist.\n");
- ret = -EINVAL;
@@ -15,3 +16,19 @@
ath_dbg(common, ATH_DBG_CONFIG,
"Attach a VIF of type: %d\n", vif->type);
+@@ -1473,15 +1464,6 @@ static int ath9k_change_interface(struct
+ mutex_lock(&sc->mutex);
+ ath9k_ps_wakeup(sc);
+
+- /* See if new interface type is valid. */
+- if ((new_type == NL80211_IFTYPE_ADHOC) &&
+- (sc->nvifs > 1)) {
+- ath_err(common, "When using ADHOC, it must be the only"
+- " interface.\n");
+- ret = -EINVAL;
+- goto out;
+- }
+-
+ if (ath9k_uses_beacons(new_type) &&
+ !ath9k_uses_beacons(vif->type)) {
+ if (sc->nbcnvifs >= ATH_BCBUF) {