From f36b921692b940bc74b155575e9a17930b42140d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 27 Jun 2023 13:36:59 +0200 Subject: [PATCH] Revert "wifi: mt76: mt76x02: remove WEP support This reverts commit 40f6e433f747b01e7d088762c52c0d92111064df. Signed-off-by: Felix Fietkau --- mt76x02_util.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mt76x02_util.c b/mt76x02_util.c index a9b77083..dcbb5c60 100644 --- a/mt76x02_util.c +++ b/mt76x02_util.c @@ -413,9 +413,12 @@ int mt76x02_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct mt76x02_sta *msta; struct mt76_wcid *wcid; int idx = key->keyidx; + int ret; /* fall back to sw encryption for unsupported ciphers */ switch (key->cipher) { + case WLAN_CIPHER_SUITE_WEP40: + case WLAN_CIPHER_SUITE_WEP104: case WLAN_CIPHER_SUITE_TKIP: case WLAN_CIPHER_SUITE_CCMP: break; @@ -468,6 +471,16 @@ int mt76x02_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, } mt76_wcid_key_setup(&dev->mt76, wcid, key); + if (!msta) { + if (key || wcid->hw_key_idx == idx) { + ret = mt76x02_mac_wcid_set_key(dev, wcid->idx, key); + if (ret) + return ret; + } + + return mt76x02_mac_shared_key_setup(dev, mvif->idx, idx, key); + } + return mt76x02_mac_wcid_set_key(dev, msta->wcid.idx, key); } EXPORT_SYMBOL_GPL(mt76x02_set_key);