aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271_main.c
diff options
context:
space:
mode:
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>2010-02-22 01:38:40 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-03-09 15:03:04 -0500
commit04e36fc5f1ff4e349ea21de8d15e4e1844d04197 (patch)
tree8778ddf51094e3339392ea68233ce02c526ad418 /drivers/net/wireless/wl12xx/wl1271_main.c
parent5c9417f1656b0f415f4be5a7cd7195ecadd7dd1a (diff)
wl1271: Clean up TX security sequence number handling
Instead of managing the TX security sequence number as two variables, use one 64 bit variable. This greatly simplifies the handling of the number. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_main.c')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_main.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_main.c b/drivers/net/wireless/wl12xx/wl1271_main.c
index 4c4d22acaeea..f10ba847689d 100644
--- a/drivers/net/wireless/wl12xx/wl1271_main.c
+++ b/drivers/net/wireless/wl12xx/wl1271_main.c
@@ -1020,8 +1020,7 @@ static void wl1271_op_stop(struct ieee80211_hw *hw)
1020 wl->tx_results_count = 0; 1020 wl->tx_results_count = 0;
1021 wl->tx_packets_count = 0; 1021 wl->tx_packets_count = 0;
1022 wl->tx_security_last_seq = 0; 1022 wl->tx_security_last_seq = 0;
1023 wl->tx_security_seq_16 = 0; 1023 wl->tx_security_seq = 0;
1024 wl->tx_security_seq_32 = 0;
1025 wl->time_offset = 0; 1024 wl->time_offset = 0;
1026 wl->session_counter = 0; 1025 wl->session_counter = 0;
1027 wl->rate_set = CONF_TX_RATE_MASK_BASIC; 1026 wl->rate_set = CONF_TX_RATE_MASK_BASIC;
@@ -1428,15 +1427,15 @@ static int wl1271_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
1428 key_type = KEY_TKIP; 1427 key_type = KEY_TKIP;
1429 1428
1430 key_conf->hw_key_idx = key_conf->keyidx; 1429 key_conf->hw_key_idx = key_conf->keyidx;
1431 tx_seq_32 = wl->tx_security_seq_32; 1430 tx_seq_32 = WL1271_TX_SECURITY_HI32(wl->tx_security_seq);
1432 tx_seq_16 = wl->tx_security_seq_16; 1431 tx_seq_16 = WL1271_TX_SECURITY_LO16(wl->tx_security_seq);
1433 break; 1432 break;
1434 case ALG_CCMP: 1433 case ALG_CCMP:
1435 key_type = KEY_AES; 1434 key_type = KEY_AES;
1436 1435
1437 key_conf->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; 1436 key_conf->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;
1438 tx_seq_32 = wl->tx_security_seq_32; 1437 tx_seq_32 = WL1271_TX_SECURITY_HI32(wl->tx_security_seq);
1439 tx_seq_16 = wl->tx_security_seq_16; 1438 tx_seq_16 = WL1271_TX_SECURITY_LO16(wl->tx_security_seq);
1440 break; 1439 break;
1441 default: 1440 default:
1442 wl1271_error("Unknown key algo 0x%x", key_conf->alg); 1441 wl1271_error("Unknown key algo 0x%x", key_conf->alg);