mac80211: update to wireless-testing 2012-04-13
[openwrt.git] / package / mac80211 / patches / 411-ath5k_allow_adhoc_and_ap.patch
index a964e70..410e6bc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c
 +++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
-@@ -83,13 +83,8 @@ ath5k_add_interface(struct ieee80211_hw 
+@@ -86,13 +86,8 @@ ath5k_add_interface(struct ieee80211_hw 
                goto end;
        }
  
                goto end;
 --- a/drivers/net/wireless/ath/ath5k/base.c
 +++ b/drivers/net/wireless/ath/ath5k/base.c
-@@ -1860,7 +1860,7 @@ ath5k_beacon_send(struct ath5k_hw *ah)
-               ah->bmisscount = 0;
+@@ -1871,7 +1871,7 @@ ath5k_beacon_send(struct ath5k_hw *ah)
        }
  
--      if ((ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs > 1) ||
-+      if ((ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs + ah->num_adhoc_vifs > 1) ||
+       if ((ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs +
+-                      ah->num_mesh_vifs > 1) ||
++                      ah->num_adhoc_vifs + ah->num_mesh_vifs > 1) ||
                        ah->opmode == NL80211_IFTYPE_MESH_POINT) {
                u64 tsf = ath5k_hw_get_tsf64(ah);
                u32 tsftu = TSF_TO_TU(tsf);
-@@ -1945,7 +1945,7 @@ ath5k_beacon_update_timers(struct ath5k_
-       u64 hw_tsf;
+@@ -1957,7 +1957,7 @@ ath5k_beacon_update_timers(struct ath5k_
  
        intval = ah->bintval & AR5K_BEACON_PERIOD;
--      if (ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs > 1) {
-+      if (ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs + ah->num_adhoc_vifs > 1) {
+       if (ah->opmode == NL80211_IFTYPE_AP && ah->num_ap_vifs
+-              + ah->num_mesh_vifs > 1) {
++              + ah->num_adhoc_vifs + ah->num_mesh_vifs > 1) {
                intval /= ATH_BCBUF;    /* staggered multi-bss beacons */
                if (intval < 15)
                        ATH5K_WARN(ah, "intval %u is too low, min 15\n",
+@@ -2419,6 +2419,7 @@ ath5k_tx_complete_poll_work(struct work_
+ 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_ADHOC) |
+                                BIT(NL80211_IFTYPE_MESH_POINT) },
+ };