wl12xx: move default_key into wlvif

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>
This commit is contained in:
Eliad Peller 2011-10-05 11:55:59 +02:00 committed by Luciano Coelho
parent 6a89979643
commit f75c753f3c
3 changed files with 8 additions and 9 deletions

View File

@ -2704,7 +2704,7 @@ static int wl1271_ap_init_hwenc(struct wl1271 *wl, struct wl12xx_vif *wlvif)
} }
if (wep_key_added) { 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); wlvif->ap.bcast_hlid);
if (ret < 0) if (ret < 0)
goto out; 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 */ /* the default WEP key needs to be configured at least once */
if (key_type == KEY_WEP) { if (key_type == KEY_WEP) {
ret = wl12xx_cmd_set_default_wep_key(wl, ret = wl12xx_cmd_set_default_wep_key(wl,
wl->default_key, wlvif->default_key,
wlvif->sta.hlid); wlvif->sta.hlid);
if (ret < 0) if (ret < 0)
return ret; return ret;
} }
@ -4891,7 +4891,6 @@ struct ieee80211_hw *wl1271_alloc_hw(void)
} }
wl->channel = WL1271_DEFAULT_CHANNEL; wl->channel = WL1271_DEFAULT_CHANNEL;
wl->default_key = 0;
wl->rx_counter = 0; wl->rx_counter = 0;
wl->psm_entry_retry = 0; wl->psm_entry_retry = 0;
wl->power_level = WL1271_DEFAULT_POWER_LEVEL; wl->power_level = WL1271_DEFAULT_POWER_LEVEL;

View 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) || is_wep = (cipher == WLAN_CIPHER_SUITE_WEP40) ||
(cipher == WLAN_CIPHER_SUITE_WEP104); (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); ret = wl1271_set_default_wep_key(wl, wlvif, idx);
if (ret < 0) if (ret < 0)
return ret; return ret;
wl->default_key = idx; wlvif->default_key = idx;
} }
} }
hlid = wl1271_tx_get_hlid(wl, vif, skb); hlid = wl1271_tx_get_hlid(wl, vif, skb);

View File

@ -503,9 +503,6 @@ struct wl1271 {
/* The current band */ /* The current band */
enum ieee80211_band band; enum ieee80211_band band;
/* Default key (for WEP) */
u32 default_key;
/* Rx Streaming */ /* Rx Streaming */
struct work_struct rx_streaming_enable_work; struct work_struct rx_streaming_enable_work;
struct work_struct rx_streaming_disable_work; struct work_struct rx_streaming_disable_work;
@ -645,6 +642,9 @@ struct wl12xx_vif {
/* Beaconing interval (needed for ad-hoc) */ /* Beaconing interval (needed for ad-hoc) */
u32 beacon_int; u32 beacon_int;
/* Default key (for WEP) */
u32 default_key;
/* Our association ID */ /* Our association ID */
u16 aid; u16 aid;