mac80211: update to wireless-testing 2013-04-16 + backports
[openwrt/svn-archive/archive.git] / package / mac80211 / patches / 410-ath9k_allow_adhoc_and_ap.patch
index 4fb85ab208643f38dba0960911bce223c33e2bbe..35363e7b01beb40f39f63555269cb702088f6d0e 100644 (file)
@@ -1,34 +1,10 @@
---- a/drivers/net/wireless/ath/ath9k/main.c
-+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1493,15 +1493,6 @@ static int ath9k_add_interface(struct ie
-               }
-       }
+--- a/drivers/net/wireless/ath/ath9k/init.c
++++ b/drivers/net/wireless/ath/ath9k/init.c
+@@ -731,6 +731,7 @@ static const struct ieee80211_iface_limi
+ #endif
+                                BIT(NL80211_IFTYPE_AP) |
+                                BIT(NL80211_IFTYPE_P2P_GO) },
++      { .max = 1,     .types = BIT(NL80211_IFTYPE_ADHOC) },
+ };
  
--      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;
--              goto out;
--      }
--
-       ath_dbg(common, ATH_DBG_CONFIG,
-               "Attach a VIF of type: %d\n", vif->type);
  
-@@ -1527,15 +1518,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) {