Re: [PATCH] rsi: fix broken AP mode due to unwanted encryption

From: Marek Vasut
Date: Fri May 28 2021 - 14:11:09 EST


On 5/28/21 7:17 PM, Martin Fuzzey wrote:
In AP mode WPA-PSK connections were not established.

The reason was that the AP was sending the first message
of the 4 way handshake encrypted, even though no key had
(correctly) yet been set.

Fix this by adding an extra check that we have a key.

The redpine downstream out of tree driver does it this way too.

Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group>
CC: stable@xxxxxxxxxxxxxxx

This likely needs a Fixes: tag ?

---
drivers/net/wireless/rsi/rsi_91x_hal.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/rsi/rsi_91x_hal.c b/drivers/net/wireless/rsi/rsi_91x_hal.c
index ce98921..ef84262 100644
--- a/drivers/net/wireless/rsi/rsi_91x_hal.c
+++ b/drivers/net/wireless/rsi/rsi_91x_hal.c
@@ -203,6 +203,7 @@ int rsi_prepare_data_desc(struct rsi_common *common, struct sk_buff *skb)
wh->frame_control |= cpu_to_le16(RSI_SET_PS_ENABLE);
if ((!(info->flags & IEEE80211_TX_INTFL_DONT_ENCRYPT)) &&
+ (info->control.hw_key) &&

The () are not needed.

(common->secinfo.security_enable)) {
if (rsi_is_cipher_wep(common))
ieee80211_size += 4;

Otherwise, looks good, thanks. With those two things above fixed, add:

Reviewed-by: Marek Vasut <marex@xxxxxxx>