ath9k: enable u-apsd support
authorFelix Fietkau <nbd@openwrt.org>
Sat, 22 Feb 2014 13:01:00 +0000 (13:01 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 22 Feb 2014 13:01:00 +0000 (13:01 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39685

package/kernel/mac80211/patches/300-pending_work.patch
package/kernel/mac80211/patches/502-ath9k_ahb_init.patch
package/kernel/mac80211/patches/530-ath9k_extra_leds.patch
package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch
package/kernel/mac80211/patches/552-ath9k_p2p_ps_support.patch

index be82f3704eefe486cf6383e695612fe71e8bb90f..bedf8e715ec587c3532251d84b9347b8e381b7be 100644 (file)
@@ -1,3 +1,15 @@
+commit 6514c93afede55284e2cb63359aadedb85884c80
+Author: Jouni Malinen <jouni@qca.qualcomm.com>
+Date:   Tue Feb 18 20:41:08 2014 +0200
+
+    ath9k: Enable U-APSD AP mode support
+    
+    mac80211 handles the actual operations, so ath9k can just indicate
+    support for this. Based on initial tests, this combination seems to
+    work fine.
+    
+    Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
+
 commit a63caf0a357ad5c1f08d6b7827dc76c451445017
 Author: Stanislaw Gruszka <sgruszka@redhat.com>
 Date:   Wed Feb 19 13:15:17 2014 +0100
@@ -2794,3 +2806,13 @@ Date:   Thu Jan 23 20:06:34 2014 +0100
                buffered = ath_tid_has_buffered(tid);
  
                tid->sched = false;
+--- a/drivers/net/wireless/ath/ath9k/init.c
++++ b/drivers/net/wireless/ath/ath9k/init.c
+@@ -943,6 +943,7 @@ static void ath9k_set_hw_capab(struct at
+       hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
+       hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_5_10_MHZ;
+       hw->wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH;
++      hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD;
+       hw->queues = 4;
+       hw->max_rates = 4;
index dd452dbd134bde7616e4476f376a49c26c1f9b48..4edc63bede32ee54dcd204924963bb2ab47774e5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -1111,23 +1111,23 @@ static int __init ath9k_init(void)
+@@ -1112,23 +1112,23 @@ static int __init ath9k_init(void)
                goto err_out;
        }
  
index b8b6c007cdead9eda0e234ee6a05cb9334ebd600..5e0dffdc60520b694bdd6a085c1766fc1da52ba9 100644 (file)
  void ath_fill_led_pin(struct ath_softc *sc)
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -1017,7 +1017,7 @@ int ath9k_init_device(u16 devid, struct 
+@@ -1018,7 +1018,7 @@ int ath9k_init_device(u16 devid, struct 
  
  #ifdef CPTCFG_MAC80211_LEDS
        /* must be initialized before ieee80211_register_hw */
index 6c18d0f2a0987d7c33d9e6913dfb0e9f0b945431..12f8b7e7659ca093eebc4cafa96cb2dcdac4b020 100644 (file)
@@ -65,7 +65,7 @@
  }
  
  void ath9k_reload_chainmask_settings(struct ath_softc *sc)
-@@ -979,6 +980,18 @@ static void ath9k_set_hw_capab(struct at
+@@ -980,6 +981,18 @@ static void ath9k_set_hw_capab(struct at
        SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
  }
  
@@ -84,7 +84,7 @@
  int ath9k_init_device(u16 devid, struct ath_softc *sc,
                    const struct ath_bus_ops *bus_ops)
  {
-@@ -1024,6 +1037,8 @@ int ath9k_init_device(u16 devid, struct 
+@@ -1025,6 +1038,8 @@ int ath9k_init_device(u16 devid, struct 
                ARRAY_SIZE(ath9k_tpt_blink));
  #endif
  
index feec14a217eb9ae07706bea5c606301300449ad4..4a61db3f9a88fd99dd44417b3ea3d0edf35436c7 100644 (file)
@@ -223,7 +223,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        ath9k_cmn_init_crypto(sc->sc_ah);
        ath9k_init_misc(sc);
        ath_fill_led_pin(sc);
-@@ -1081,6 +1084,9 @@ static void ath9k_deinit_softc(struct at
+@@ -1082,6 +1085,9 @@ static void ath9k_deinit_softc(struct at
  {
        int i = 0;