wl12xx: move default_key into wlvif
authorEliad Peller <eliad@wizery.com>
Wed, 5 Oct 2011 09:55:59 +0000 (11:55 +0200)
committerLuciano Coelho <coelho@ti.com>
Fri, 7 Oct 2011 05:32:49 +0000 (08:32 +0300)
move default_key into the per-interface data, rather than
being global.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c
drivers/net/wireless/wl12xx/tx.c
drivers/net/wireless/wl12xx/wl12xx.h

index 577266d..09983de 100644 (file)
@@ -2704,7 +2704,7 @@ static int wl1271_ap_init_hwenc(struct wl1271 *wl, struct wl12xx_vif *wlvif)
        }
 
        if (wep_key_added) {
-               ret = wl12xx_cmd_set_default_wep_key(wl, wl->default_key,
+               ret = wl12xx_cmd_set_default_wep_key(wl, wlvif->default_key,
                                                     wlvif->ap.bcast_hlid);
                if (ret < 0)
                        goto out;
@@ -2801,8 +2801,8 @@ static int wl1271_set_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                /* the default WEP key needs to be configured at least once */
                if (key_type == KEY_WEP) {
                        ret = wl12xx_cmd_set_default_wep_key(wl,
-                                                            wl->default_key,
-                                                            wlvif->sta.hlid);
+                                                       wlvif->default_key,
+                                                       wlvif->sta.hlid);
                        if (ret < 0)
                                return ret;
                }
@@ -4891,7 +4891,6 @@ struct ieee80211_hw *wl1271_alloc_hw(void)
        }
 
        wl->channel = WL1271_DEFAULT_CHANNEL;
-       wl->default_key = 0;
        wl->rx_counter = 0;
        wl->psm_entry_retry = 0;
        wl->power_level = WL1271_DEFAULT_POWER_LEVEL;
index 8db68c6..509ae10 100644 (file)
@@ -424,11 +424,11 @@ static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct sk_buff *skb,
                is_wep = (cipher == WLAN_CIPHER_SUITE_WEP40) ||
                         (cipher == WLAN_CIPHER_SUITE_WEP104);
 
-               if (unlikely(is_wep && wl->default_key != idx)) {
+               if (unlikely(is_wep && wlvif->default_key != idx)) {
                        ret = wl1271_set_default_wep_key(wl, wlvif, idx);
                        if (ret < 0)
                                return ret;
-                       wl->default_key = idx;
+                       wlvif->default_key = idx;
                }
        }
        hlid = wl1271_tx_get_hlid(wl, vif, skb);
index 9d4b72e..91e6cd3 100644 (file)
@@ -503,9 +503,6 @@ struct wl1271 {
        /* The current band */
        enum ieee80211_band band;
 
-       /* Default key (for WEP) */
-       u32 default_key;
-
        /* Rx Streaming */
        struct work_struct rx_streaming_enable_work;
        struct work_struct rx_streaming_disable_work;
@@ -645,6 +642,9 @@ struct wl12xx_vif {
        /* Beaconing interval (needed for ad-hoc) */
        u32 beacon_int;
 
+       /* Default key (for WEP) */
+       u32 default_key;
+
        /* Our association ID */
        u16 aid;