]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/6.1.83/wifi-b43-disable-qos-for-bcm4331.patch
Linux 6.6.23
[thirdparty/kernel/stable-queue.git] / releases / 6.1.83 / wifi-b43-disable-qos-for-bcm4331.patch
1 From 5bc4097876b35153aebd93609c6d5aee959a7ddf Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Sun, 31 Dec 2023 05:03:58 +0000
4 Subject: wifi: b43: Disable QoS for bcm4331
5
6 From: Rahul Rameshbabu <sergeantsagara@protonmail.com>
7
8 [ Upstream commit 09795bded2e725443fe4a4803cae2079cdaf7b26 ]
9
10 bcm4331 seems to not function correctly with QoS support. This may be due
11 to issues with currently available firmware or potentially a device
12 specific issue.
13
14 When queues that are not of the default "best effort" priority are
15 selected, traffic appears to not transmit out of the hardware while no
16 errors are returned. This behavior is present among all the other priority
17 queues: video, voice, and background. While this can be worked around by
18 setting a kernel parameter, the default behavior is problematic for most
19 users and may be difficult to debug. This patch offers a working out-of-box
20 experience for bcm4331 users.
21
22 Log of the issue (using ssh low-priority traffic as an example):
23 ssh -T -vvvv git@github.com
24 OpenSSH_9.6p1, OpenSSL 3.0.12 24 Oct 2023
25 debug1: Reading configuration data /etc/ssh/ssh_config
26 debug2: checking match for 'host * exec "/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0rypm7sh1i8js8w-gnupg-2.4.1/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1'"' host github.com originally github.com
27 debug3: /etc/ssh/ssh_config line 5: matched 'host "github.com"'
28 debug1: Executing command: '/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0rypm7sh1i8js8w-gnupg-2.4.1/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1''
29 debug3: command returned status 0
30 debug3: /etc/ssh/ssh_config line 5: matched 'exec "/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0r"'
31 debug2: match found
32 debug1: /etc/ssh/ssh_config line 9: Applying options for *
33 debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/binary-eater/.ssh/known_hosts'
34 debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/binary-eater/.ssh/known_hosts2'
35 debug2: resolving "github.com" port 22
36 debug3: resolve_host: lookup github.com:22
37 debug3: channel_clear_timeouts: clearing
38 debug3: ssh_connect_direct: entering
39 debug1: Connecting to github.com [192.30.255.113] port 22.
40 debug3: set_sock_tos: set socket 3 IP_TOS 0x48
41
42 Fixes: e6f5b934fba8 ("b43: Add QOS support")
43 Signed-off-by: Rahul Rameshbabu <sergeantsagara@protonmail.com>
44 Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
45 Signed-off-by: Kalle Valo <kvalo@kernel.org>
46 Link: https://msgid.link/20231231050300.122806-5-sergeantsagara@protonmail.com
47 Signed-off-by: Sasha Levin <sashal@kernel.org>
48 ---
49 drivers/net/wireless/broadcom/b43/main.c | 3 ++-
50 1 file changed, 2 insertions(+), 1 deletion(-)
51
52 diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c
53 index c75f294ca1bc9..bdfa68cc7ee2a 100644
54 --- a/drivers/net/wireless/broadcom/b43/main.c
55 +++ b/drivers/net/wireless/broadcom/b43/main.c
56 @@ -2587,7 +2587,8 @@ static void b43_request_firmware(struct work_struct *work)
57
58 start_ieee80211:
59 wl->hw->queues = B43_QOS_QUEUE_NUM;
60 - if (!modparam_qos || dev->fw.opensource)
61 + if (!modparam_qos || dev->fw.opensource ||
62 + dev->dev->chip_id == BCMA_CHIP_ID_BCM4331)
63 wl->hw->queues = 1;
64
65 err = ieee80211_register_hw(wl->hw);
66 --
67 2.43.0
68