From fe40547fa268ed85c86c3d8350c71ca5d91c0fbf Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 2 Jul 2010 14:45:22 +0200 Subject: [PATCH] ath9k: fix crash with WEP in ad-hoc mode Commit 69dfc81860ec9345809cb153914964ac126d4028 added support for using multicast key lookup to support per-vif/sta keys for AP and ad-hoc. Unfortunately, it also introduced a crash in ad-hoc mode when the sta pointer is NULL, which happens when setting up an interface with WEP keys. This patch fixes it by falling back to the assigned key index. Signed-off-by: Felix Fietkau Reported-by: Senthil Balasubramanian Signed-off-by: John W. Linville --- drivers/net/wireless/ath/ath9k/common.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/common.c b/drivers/net/wireless/ath/ath9k/common.c index 16e2849f644d8..c86f7d3593ab4 100644 --- a/drivers/net/wireless/ath/ath9k/common.c +++ b/drivers/net/wireless/ath/ath9k/common.c @@ -319,6 +319,10 @@ int ath9k_cmn_key_config(struct ath_common *common, idx = ath_reserve_key_cache_slot(common, key->alg); break; case NL80211_IFTYPE_ADHOC: + if (!sta) { + idx = key->keyidx; + break; + } memcpy(gmac, sta->addr, ETH_ALEN); gmac[0] |= 0x01; mac = gmac; -- 2.39.5