wlcore: define number of supported bands internally
authorArik Nemtsov <arik@wizery.com>
Tue, 3 Jul 2012 06:11:03 +0000 (09:11 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 10 Jul 2012 16:10:14 +0000 (12:10 -0400)
Avoid using the IEEE80211_NUM_BANDS constant for arrays sizes etc, as
this can contain bands unsupported by the driver (e.g. 60Ghz). Use an
internal constant to determine the number of bands.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
drivers/net/wireless/ti/wlcore/main.c
drivers/net/wireless/ti/wlcore/wlcore.h
drivers/net/wireless/ti/wlcore/wlcore_i.h

index 641b0c9..9f04b64 100644 (file)
@@ -4569,7 +4569,7 @@ static int wl12xx_set_bitrate_mask(struct ieee80211_hw *hw,
 
        mutex_lock(&wl->mutex);
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++)
+       for (i = 0; i < WLCORE_NUM_BANDS; i++)
                wlvif->bitrate_masks[i] =
                        wl1271_tx_enabled_rates_get(wl,
                                                    mask->control[i].legacy,
index 0df731a..27ccc27 100644 (file)
@@ -304,7 +304,7 @@ struct wl1271 {
        s8 noise;
 
        /* bands supported by this instance of wl12xx */
-       struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band bands[WLCORE_NUM_BANDS];
 
        /*
         * wowlan trigger was configured during suspend.
@@ -371,7 +371,7 @@ struct wl1271 {
        u8 hw_min_ht_rate;
 
        /* HW HT (11n) capabilities */
-       struct ieee80211_sta_ht_cap ht_cap[IEEE80211_NUM_BANDS];
+       struct ieee80211_sta_ht_cap ht_cap[WLCORE_NUM_BANDS];
 
        /* size of the private FW status data */
        size_t fw_status_priv_len;
index 2a0e896..0187eef 100644 (file)
@@ -62,6 +62,9 @@
 #define WL12XX_INVALID_ROLE_ID     0xff
 #define WL12XX_INVALID_LINK_ID     0xff
 
+/* the driver supports the 2.4Ghz and 5Ghz bands */
+#define WLCORE_NUM_BANDS           2
+
 #define WL12XX_MAX_RATE_POLICIES 16
 
 /* Defined by FW as 0. Will not be freed or allocated. */
@@ -360,7 +363,7 @@ struct wl12xx_vif {
        int channel;
        enum nl80211_channel_type channel_type;
 
-       u32 bitrate_masks[IEEE80211_NUM_BANDS];
+       u32 bitrate_masks[WLCORE_NUM_BANDS];
        u32 basic_rate_set;
 
        /*