summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k/mac.h
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2014-11-25 11:46:58 +0530
committerKalle Valo <kvalo@qca.qualcomm.com>2014-11-26 08:37:08 +0200
commit504f6cdf4ac3dfcf645453b5cd65dcc9aed0e1b9 (patch)
treeadb814da6148e8ddf07ad7afcf288e669ae3162b /drivers/net/wireless/ath/ath10k/mac.h
parentd67d0a02042867491051f766a3ad8389f5b307c2 (diff)
downloadtalos-op-linux-504f6cdf4ac3dfcf645453b5cd65dcc9aed0e1b9.tar.gz
talos-op-linux-504f6cdf4ac3dfcf645453b5cd65dcc9aed0e1b9.zip
ath10k: fix shared WEP
When static keys are used in shared WEP, when a station is associated, message 3 is sent with an encrypted payload. But, for subsequent authentications that are triggered without a deauth, the auth frame is decrypted by the HW. To handle this, check if the WEP keys have already been set for the peer and if so, mark the frame as decrypted. This scenario can happen when a station changes its default TX key and initiates a new authentication sequence. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/mac.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/mac.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.h b/drivers/net/wireless/ath/ath10k/mac.h
index 4e3c989aa841..68296117d203 100644
--- a/drivers/net/wireless/ath/ath10k/mac.h
+++ b/drivers/net/wireless/ath/ath10k/mac.h
@@ -21,6 +21,8 @@
#include <net/mac80211.h>
#include "core.h"
+#define WEP_KEYID_SHIFT 6
+
struct ath10k_generic_iter {
struct ath10k *ar;
int ret;
@@ -41,6 +43,8 @@ void ath10k_mgmt_over_wmi_tx_work(struct work_struct *work);
void ath10k_halt(struct ath10k *ar);
void ath10k_mac_vif_beacon_free(struct ath10k_vif *arvif);
void ath10k_drain_tx(struct ath10k *ar);
+bool ath10k_mac_is_peer_wep_key_set(struct ath10k *ar, const u8 *addr,
+ u8 keyidx);
static inline struct ath10k_vif *ath10k_vif_to_arvif(struct ieee80211_vif *vif)
{
OpenPOWER on IntegriCloud