diff mbox series

[1/2] b43: Fix connection problem with WPA3

Message ID 20200526155909.5807-2-Larry.Finger@lwfinger.net (mailing list archive)
State Accepted
Commit 75d057bda1fbca6ade21378aa45db712e5f7d962
Delegated to: Kalle Valo
Headers show
Series Fix WPA3 problems with b43 and b43_legacy | expand

Commit Message

Larry Finger May 26, 2020, 3:59 p.m. UTC
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,
b43 did not report that it could handle them. By setting MFP_CAPABLE using
ieee80211_set_hw(), the problem is fixed.

With this change, b43 will handle the ciohers it knows in hardare,
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.

This patch fixes a prooblem that has been in the driver since it was first
merged with commit e4d6b7951812 ("[B43]: add mac80211-based driver for
modern BCM43xx devices").

Fixes e4d6b7951812 ("[B43]: add mac80211-based driver for modern BCM43xx devices")
Reported-and-tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org>
---
 drivers/net/wireless/broadcom/b43/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kalle Valo May 27, 2020, 12:38 p.m. UTC | #1
Larry Finger <Larry.Finger@lwfinger.net> writes:

> 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,
> b43 did not report that it could handle them. By setting MFP_CAPABLE using
> ieee80211_set_hw(), the problem is fixed.
>
> With this change, b43 will handle the ciohers it knows in hardare,

I'll change this to:

"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.
>
> This patch fixes a prooblem that has been in the driver since it was first
> merged with commit e4d6b7951812 ("[B43]: add mac80211-based driver for
> modern BCM43xx devices").
>
> Fixes e4d6b7951812 ("[B43]: add mac80211-based driver for modern BCM43xx devices")

I consider this as a new feature, not a bugfix. So I'll remove the Fixes
line and the paragraph above it. Ok?
Sasha Levin May 27, 2020, 4:58 p.m. UTC | #2
Hi

[This is an automated email]

This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: all

The bot has tested the following trees: v5.6.14, v5.4.42, v4.19.124, v4.14.181, v4.9.224, v4.4.224.

v5.6.14: Build OK!
v5.4.42: Build OK!
v4.19.124: Build OK!
v4.14.181: Build OK!
v4.9.224: Build OK!
v4.4.224: Failed to apply! Possible dependencies:
    Unable to calculate


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?
Kalle Valo May 29, 2020, 5:14 p.m. UTC | #3
Larry Finger <Larry.Finger@lwfinger.net> wrote:

> 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,
> b43 did not report that it could handle them. By setting MFP_CAPABLE using
> ieee80211_set_hw(), the problem is fixed.
> 
> With this change, b43 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.
> 
> Reported-and-tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
> Cc: Stable <stable@vger.kernel.org>

2 patches applied to wireless-drivers-next.git, thanks.

75d057bda1fb b43: Fix connection problem with WPA3
6a29d134c04a b43_legacy: Fix connection problem with WPA3
diff mbox series

Patch

diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c
index 39da1a4c30ac..3ad94dad2d89 100644
--- a/drivers/net/wireless/broadcom/b43/main.c
+++ b/drivers/net/wireless/broadcom/b43/main.c
@@ -5569,7 +5569,7 @@  static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
 	/* fill hw info */
 	ieee80211_hw_set(hw, RX_INCLUDES_FCS);
 	ieee80211_hw_set(hw, SIGNAL_DBM);
-
+	ieee80211_hw_set(hw, MFP_CAPABLE);
 	hw->wiphy->interface_modes =
 		BIT(NL80211_IFTYPE_AP) |
 		BIT(NL80211_IFTYPE_MESH_POINT) |