ath10k-ct: Update to current version
authorRobert Marko <robimarko@gmail.com>
Thu, 9 May 2019 15:27:58 +0000 (17:27 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 11 May 2019 14:37:11 +0000 (16:37 +0200)
This patch updates ath10k-ct to current version.
Changes are:
     ath10k-ct:  Fix printing PN in peer stats.

     Previous logic was incorrect.  Also add set-special API to enable
     returning PN.

Patches refreshed and tested on 8devices Jalapeno dev board(IPQ4019)

Signed-off-by: Robert Marko <robimarko@gmail.com>
package/kernel/ath10k-ct/Makefile
package/kernel/ath10k-ct/patches/081-ath10k-calibration-variant.patch
package/kernel/ath10k-ct/patches/100-kernel_compat.patch
package/kernel/ath10k-ct/patches/160-ath10k-search-all-IEs-for-variant-before-falling-back.patch
package/kernel/ath10k-ct/patches/161-ath10k-add-support-for-configuring-management-packet.patch
package/kernel/ath10k-ct/patches/162-ath10k-fix-possible-out-of-bound-access-of-ath10k_ra.patch
package/kernel/ath10k-ct/patches/163-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch
package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch
package/kernel/ath10k-ct/patches/201-ath10k-4.16_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch
package/kernel/ath10k-ct/patches/203-ath10k-Limit-available-channels-via-DT-ieee80211-fre.patch

index 63d702c..8ade145 100644 (file)
@@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
 
 PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2019-04-08
-PKG_SOURCE_VERSION:=9cd701a4f028b1643928a1f03c76e3f8c9e56a5b
-PKG_MIRROR_HASH:=0088fea964279842a105908f5ac573b84e43de3a9b434d427fb871390525dfee
+PKG_SOURCE_DATE:=2019-05-08
+PKG_SOURCE_VERSION:=f98b6dc4d27ea2d79a1577285d1d5cb0641b3eb4
+PKG_MIRROR_HASH:=ca2f0e9da25fc7140d26ddeeb8e929e172755aa0e41e4e92e5b87bb972b8ed41
 
 # Build the 4.19 ath10k-ct driver version.  Other options are "-4.16", or
 # leave un-defined for 4.7 kernel.  Probably this should match as closely as
index 987a7d7..2b42730 100644 (file)
@@ -98,7 +98,7 @@ Origin: upstream, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
        scnprintf(name, name_len,
                  "bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x%s",
                  ath10k_bus_str(ar->hif.bus),
-@@ -2977,7 +2999,11 @@ static int ath10k_core_probe_fw(struct a
+@@ -3014,7 +3036,11 @@ static int ath10k_core_probe_fw(struct a
  
        ret = ath10k_core_check_smbios(ar);
        if (ret)
index 6fd254a..3f7db04 100644 (file)
@@ -97,7 +97,7 @@
        ATH10K_DFS_STAT_INC(ar, pulses_total);
 --- a/ath10k-4.13/wmi.c
 +++ b/ath10k-4.13/wmi.c
-@@ -4030,7 +4030,7 @@ static void ath10k_dfs_radar_report(stru
+@@ -4033,7 +4033,7 @@ static void ath10k_dfs_radar_report(stru
  
        ATH10K_DFS_STAT_INC(ar, pulses_detected);
  
                return;
 --- a/ath10k-4.16/wmi.c
 +++ b/ath10k-4.16/wmi.c
-@@ -4105,7 +4105,7 @@ static void ath10k_dfs_radar_report(stru
+@@ -4117,7 +4117,7 @@ static void ath10k_dfs_radar_report(stru
  
        ATH10K_DFS_STAT_INC(ar, pulses_detected);
  
index 985bb02..c6820de 100644 (file)
@@ -249,7 +249,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
                goto success;
 --- a/ath10k-4.16/core.c
 +++ b/ath10k-4.16/core.c
-@@ -1562,14 +1562,61 @@ out:
+@@ -1563,14 +1563,61 @@ out:
        return ret;
  }
  
@@ -314,7 +314,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
  
        ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
                                                        ar->hw_params.fw.dir,
-@@ -1607,73 +1654,28 @@ static int ath10k_core_fetch_board_data_
+@@ -1608,73 +1655,28 @@ static int ath10k_core_fetch_board_data_
        data += magic_len;
        len -= magic_len;
  
@@ -397,7 +397,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
        return 0;
  
  err:
-@@ -1682,12 +1684,12 @@ err:
+@@ -1683,12 +1685,12 @@ err:
  }
  
  static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
@@ -412,7 +412,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
                scnprintf(variant, sizeof(variant), ",variant=%s",
                          ar->id.bdf_ext);
  
-@@ -1713,21 +1715,31 @@ out:
+@@ -1714,21 +1716,31 @@ out:
  
  static int ath10k_core_fetch_board_file(struct ath10k *ar)
  {
index 7c59d14..10b1d38 100644 (file)
@@ -43,7 +43,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
  static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss)
  {
        switch ((mcs_map >> (2 * nss)) & 0x3) {
-@@ -6262,9 +6278,10 @@ static void ath10k_bss_info_changed(stru
+@@ -6333,9 +6349,10 @@ static void ath10k_bss_info_changed(stru
        struct cfg80211_chan_def def;
        u32 vdev_param, pdev_param, slottime, preamble;
        u16 bitrate, hw_value;
@@ -56,7 +56,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
  
        mutex_lock(&ar->conf_mutex);
  
-@@ -6470,6 +6487,30 @@ static void ath10k_bss_info_changed(stru
+@@ -6541,6 +6558,30 @@ static void ath10k_bss_info_changed(stru
                                    arvif->vdev_id,  ret);
        }
  
index 5eba4f3..f46bf4d 100644 (file)
@@ -26,7 +26,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
                if (ath10k_rates[i].bitrate == bitrate)
                        return hw_value_prefix | ath10k_rates[i].hw_value;
        }
-@@ -6493,22 +6493,22 @@ static void ath10k_bss_info_changed(stru
+@@ -6564,22 +6564,22 @@ static void ath10k_bss_info_changed(stru
                        return;
                }
  
index ade1eb2..42d59e8 100644 (file)
@@ -17,7 +17,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
 
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
-@@ -6278,8 +6278,8 @@ static void ath10k_bss_info_changed(stru
+@@ -6349,8 +6349,8 @@ static void ath10k_bss_info_changed(stru
        struct cfg80211_chan_def def;
        u32 vdev_param, pdev_param, slottime, preamble;
        u16 bitrate, hw_value;
@@ -28,7 +28,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
        enum nl80211_band band;
        const struct ieee80211_supported_band *sband;
  
-@@ -6452,7 +6452,11 @@ static void ath10k_bss_info_changed(stru
+@@ -6523,7 +6523,11 @@ static void ath10k_bss_info_changed(stru
        if (changed & BSS_CHANGED_MCAST_RATE &&
            !WARN_ON(ath10k_mac_vif_chan(arvif->vif, &def))) {
                band = def.chan->band;
index 43f5591..ec8248f 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Sven Eckelmann <sven@narfation.org>
 
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
-@@ -6474,6 +6474,7 @@ static void ath10k_bss_info_changed(stru
+@@ -6545,6 +6545,7 @@ static void ath10k_bss_info_changed(stru
                           "mac vdev %d mcast_rate %x\n",
                           arvif->vdev_id, rate);
  
@@ -19,7 +19,7 @@ Signed-off-by: Sven Eckelmann <sven@narfation.org>
                vdev_param = ar->wmi.vdev_param->mcast_data_rate;
                ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
                                                vdev_param, rate);
-@@ -6482,6 +6483,7 @@ static void ath10k_bss_info_changed(stru
+@@ -6553,6 +6554,7 @@ static void ath10k_bss_info_changed(stru
                                    "failed to set mcast rate on vdev %i: %d\n",
                                    arvif->vdev_id,  ret);
  
@@ -27,7 +27,7 @@ Signed-off-by: Sven Eckelmann <sven@narfation.org>
                vdev_param = ar->wmi.vdev_param->bcast_data_rate;
                ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
                                                vdev_param, rate);
-@@ -6508,6 +6510,7 @@ static void ath10k_bss_info_changed(stru
+@@ -6579,6 +6581,7 @@ static void ath10k_bss_info_changed(stru
                        return;
                }
  
index 9069435..617505d 100644 (file)
@@ -161,8 +161,8 @@ v13:
                .patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
                .uart_pin = 7,
                .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
-@@ -3042,6 +3048,10 @@ int ath10k_core_start(struct ath10k *ar,
-                                                  ar->eeprom_overrides.rc_txbf_probe);
+@@ -3084,6 +3090,10 @@ int ath10k_core_start(struct ath10k *ar,
+                       ath10k_wmi_check_apply_board_power_ctl_table(ar);
        }
  
 +      status = ath10k_leds_start(ar);
@@ -172,7 +172,7 @@ v13:
        return 0;
  
  err_hif_stop:
-@@ -3288,9 +3298,18 @@ static void ath10k_core_register_work(st
+@@ -3330,9 +3340,18 @@ static void ath10k_core_register_work(st
                goto err_spectral_destroy;
        }
  
@@ -191,7 +191,7 @@ v13:
  err_spectral_destroy:
        ath10k_spectral_destroy(ar);
  err_debug_destroy:
-@@ -3348,6 +3367,8 @@ void ath10k_core_unregister(struct ath10
+@@ -3390,6 +3409,8 @@ void ath10k_core_unregister(struct ath10
        if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
                return;
  
@@ -210,7 +210,7 @@ v13:
  
  #include "htt.h"
  #include "htc.h"
-@@ -1255,6 +1256,13 @@ struct ath10k {
+@@ -1273,6 +1274,13 @@ struct ath10k {
        } testmode;
  
        struct {
@@ -455,7 +455,7 @@ v13:
  static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
 --- a/ath10k-4.16/wmi.c
 +++ b/ath10k-4.16/wmi.c
-@@ -7405,6 +7405,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -7593,6 +7593,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
        return skb;
  }
  
@@ -505,7 +505,7 @@ v13:
  static struct sk_buff *
  ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
                             enum wmi_sta_ps_mode psmode)
-@@ -9020,6 +9063,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -9235,6 +9278,9 @@ static const struct wmi_ops wmi_ops = {
        .fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
        .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
        .gen_echo = ath10k_wmi_op_gen_echo,
@@ -515,7 +515,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9090,6 +9136,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -9305,6 +9351,8 @@ static const struct wmi_ops wmi_10_1_ops
        .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
        .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
        .gen_echo = ath10k_wmi_op_gen_echo,
@@ -524,7 +524,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9167,6 +9215,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -9383,6 +9431,8 @@ static const struct wmi_ops wmi_10_2_ops
        .gen_delba_send = ath10k_wmi_op_gen_delba_send,
        .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
        .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
@@ -533,7 +533,7 @@ v13:
        /* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
-@@ -9237,6 +9287,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -9453,6 +9503,8 @@ static const struct wmi_ops wmi_10_2_4_o
        .gen_pdev_enable_adaptive_cca =
                ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
        .get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
@@ -542,7 +542,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9313,6 +9365,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -9529,6 +9581,8 @@ static const struct wmi_ops wmi_10_4_ops
        .gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
        .gen_echo = ath10k_wmi_op_gen_echo,
        .gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
@@ -553,7 +553,7 @@ v13:
  int ath10k_wmi_attach(struct ath10k *ar)
 --- a/ath10k-4.16/wmi.h
 +++ b/ath10k-4.16/wmi.h
-@@ -3011,6 +3011,41 @@ enum wmi_10_4_feature_mask {
+@@ -3013,6 +3013,41 @@ enum wmi_10_4_feature_mask {
  
  };
  
@@ -674,8 +674,8 @@ v13:
                .patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
                .uart_pin = 7,
                .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
-@@ -3103,6 +3109,10 @@ int ath10k_core_start(struct ath10k *ar,
-                                                  ar->eeprom_overrides.rc_txbf_probe);
+@@ -3147,6 +3153,10 @@ int ath10k_core_start(struct ath10k *ar,
+                       ath10k_wmi_check_apply_board_power_ctl_table(ar);
        }
  
 +      status = ath10k_leds_start(ar);
@@ -685,7 +685,7 @@ v13:
        return 0;
  
  err_hif_stop:
-@@ -3357,9 +3367,18 @@ static void ath10k_core_register_work(st
+@@ -3401,9 +3411,18 @@ static void ath10k_core_register_work(st
                goto err_spectral_destroy;
        }
  
@@ -704,7 +704,7 @@ v13:
  err_spectral_destroy:
        ath10k_spectral_destroy(ar);
  err_debug_destroy:
-@@ -3417,6 +3436,8 @@ void ath10k_core_unregister(struct ath10
+@@ -3461,6 +3480,8 @@ void ath10k_core_unregister(struct ath10
        if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
                return;
  
@@ -723,7 +723,7 @@ v13:
  
  #include "htt.h"
  #include "htc.h"
-@@ -1113,7 +1114,6 @@ struct ath10k {
+@@ -1132,7 +1133,6 @@ struct ath10k {
        u32 low_5ghz_chan;
        u32 high_5ghz_chan;
        bool ani_enabled;
@@ -731,7 +731,7 @@ v13:
        bool p2p;
        bool ct_all_pkts_htt; /* CT firmware only: native-wifi for all pkts */
  
-@@ -1362,6 +1362,13 @@ struct ath10k {
+@@ -1383,6 +1383,13 @@ struct ath10k {
        } testmode;
  
        struct {
@@ -977,7 +977,7 @@ v13:
  static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
 --- a/ath10k-4.19/wmi.c
 +++ b/ath10k-4.19/wmi.c
-@@ -7881,6 +7881,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -8070,6 +8070,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
        return skb;
  }
  
@@ -1027,7 +1027,7 @@ v13:
  static struct sk_buff *
  ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
                             enum wmi_sta_ps_mode psmode)
-@@ -9605,6 +9648,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -9821,6 +9864,9 @@ static const struct wmi_ops wmi_ops = {
        .fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
        .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
        .gen_echo = ath10k_wmi_op_gen_echo,
@@ -1037,7 +1037,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9675,6 +9721,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -9891,6 +9937,8 @@ static const struct wmi_ops wmi_10_1_ops
        .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
        .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
        .gen_echo = ath10k_wmi_op_gen_echo,
@@ -1046,7 +1046,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9752,6 +9800,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -9969,6 +10017,8 @@ static const struct wmi_ops wmi_10_2_ops
        .gen_delba_send = ath10k_wmi_op_gen_delba_send,
        .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
        .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
@@ -1055,7 +1055,7 @@ v13:
        /* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
-@@ -9822,6 +9872,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -10039,6 +10089,8 @@ static const struct wmi_ops wmi_10_2_4_o
        .gen_pdev_enable_adaptive_cca =
                ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
        .get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
@@ -1064,7 +1064,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9902,6 +9954,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -10119,6 +10171,8 @@ static const struct wmi_ops wmi_10_4_ops
        .gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
        .gen_echo = ath10k_wmi_op_gen_echo,
        .gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
@@ -1075,7 +1075,7 @@ v13:
  int ath10k_wmi_attach(struct ath10k *ar)
 --- a/ath10k-4.19/wmi.h
 +++ b/ath10k-4.19/wmi.h
-@@ -3040,6 +3040,41 @@ enum wmi_10_4_feature_mask {
+@@ -3041,6 +3041,41 @@ enum wmi_10_4_feature_mask {
  
  };
  
index 736ecbc..394e069 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
 
 --- a/ath10k-4.16/core.h
 +++ b/ath10k-4.16/core.h
-@@ -1346,6 +1346,10 @@ struct ath10k {
+@@ -1366,6 +1366,10 @@ struct ath10k {
        u8 csi_data[4096];
        u16 csi_data_len;
  
@@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
        if (ret)
 --- a/ath10k-4.16/mac.c
 +++ b/ath10k-4.16/mac.c
-@@ -9665,7 +9665,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9739,7 +9739,7 @@ int ath10k_mac_register(struct ath10k *a
        wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
  
  #ifdef CPTCFG_MAC80211_LEDS
@@ -53,7 +53,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
  #endif
 --- a/ath10k-4.19/core.h
 +++ b/ath10k-4.19/core.h
-@@ -1459,6 +1459,10 @@ struct ath10k {
+@@ -1482,6 +1482,10 @@ struct ath10k {
        u8 csi_data[4096];
        u16 csi_data_len;
  
@@ -79,7 +79,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
        if (ret)
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
-@@ -9837,7 +9837,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9908,7 +9908,7 @@ int ath10k_mac_register(struct ath10k *a
        wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
  
  #ifdef CPTCFG_MAC80211_LEDS
index f68b35a..45619c9 100644 (file)
@@ -29,7 +29,7 @@ Forwarded: https://patchwork.kernel.org/patch/10549245/
  #include <net/mac80211.h>
  #include <linux/etherdevice.h>
  #include <linux/acpi.h>
-@@ -9561,6 +9562,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9632,6 +9633,7 @@ int ath10k_mac_register(struct ath10k *a
                ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
        }