diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2020-05-26 10:59:09 -0500 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2020-05-29 20:13:38 +0300 |
commit | 6a29d134c04a8acebb7a95251acea7ad7abba106 (patch) | |
tree | b15e7406b3bfdba58e0db674c45b6e150e5a61f2 | |
parent | 75d057bda1fbca6ade21378aa45db712e5f7d962 (diff) | |
download | linux-6a29d134c04a8acebb7a95251acea7ad7abba106.tar.bz2 |
b43_legacy: Fix connection problem with WPA3
Since the driver was first introduced into the kernel, it has only
handled the ciphers associated with WEP, WPA, and WPA2. It fails with
WPA3 even though mac80211 can handle those additional ciphers in software,
b43legacy did not report that it could handle them. By setting MFP_CAPABLE using
ieee80211_set_hw(), the problem is fixed.
With this change, b43legacy will handle the ciphers it knows in hardware,
and let mac80211 handle the others in software. It is not necessary to
use the module parameter NOHWCRYPT to turn hardware encryption off.
Although this change essentially eliminates that module parameter,
I am choosing to keep it for cases where the hardware is broken,
and software encryption is required for all ciphers.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200526155909.5807-3-Larry.Finger@lwfinger.net
-rw-r--r-- | drivers/net/wireless/broadcom/b43legacy/main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c index 8b6b657c4b85..5208a39fd6f7 100644 --- a/drivers/net/wireless/broadcom/b43legacy/main.c +++ b/drivers/net/wireless/broadcom/b43legacy/main.c @@ -3801,6 +3801,7 @@ static int b43legacy_wireless_init(struct ssb_device *dev) /* fill hw info */ ieee80211_hw_set(hw, RX_INCLUDES_FCS); ieee80211_hw_set(hw, SIGNAL_DBM); + ieee80211_hw_set(hw, MFP_CAPABLE); /* Allow WPA3 in software */ hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_AP) | |