mbox series

[wireless,v2,0/4] wifi: b43: Various QoS-related fixes

Message ID 20231231050300.122806-1-sergeantsagara@protonmail.com
Headers show
Series wifi: b43: Various QoS-related fixes | expand

Message

Rahul Rameshbabu Dec. 31, 2023, 5:03 a.m. UTC
Recently acquired a MacBookPro8,3 (early 2011), which has a bcm4331 card.
Noticed some issues with the wireless driver, specifically related to QoS, when
using this device.

Out of the box, applications like ssh appear to not work with the device when
QoS is enabled. This series attempts to improve the out-of-box experience while
cleaning up some fundamental issues in the driver when QoS is disabled, either
by the related kernel parameter or the newly introduced QoS disablement
function.

Running FW 784.2 during testing.

Log:
    [   11.661972] b43-phy0: Loading firmware version 784.2 (2012-08-15 21:35:19)
    [   11.919942] b43-phy0: Loading firmware version 784.2 (2012-08-15 21:35:19)
    [   13.717460] [drm] amdgpu kernel modesetting enabled.
    [   13.717705] amdgpu: Virtual CRAT table created for CPU
    [   13.717719] amdgpu: Topology: Add CPU node
    [   13.776896] NET: Registered PF_PACKET protocol family
    [   15.234058] b43-phy0: Loading firmware version 784.2 (2012-08-15 21:35:19)
    [   15.319388] wlp3s0b1: authenticate with 1c:87:2c:6f:f4:e0
    [   15.333239] wlp3s0b1: send auth to 1c:87:2c:6f:f4:e0 (try 1/3)
    [   15.341672] wlp3s0b1: authenticated
    [   15.341921] wlp3s0b1: associate with 1c:87:2c:6f:f4:e0 (try 1/3)
    [   15.346912] wlp3s0b1: RX AssocResp from 1c:87:2c:6f:f4:e0 (capab=0x411 status=0 aid=3)
    [   15.347255] wlp3s0b1: associated

Link: https://lore.kernel.org/linux-wireless/20231230045105.91351-1-sergeantsagara@protonmail.com/

Rahul Rameshbabu (4):
  wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled
  wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled
  wifi: b43: Stop correct queue in DMA worker when QoS is disabled
  wifi: b43: Disable QoS for bcm4331

 drivers/net/wireless/broadcom/b43/b43.h  | 16 ++++++++++++++++
 drivers/net/wireless/broadcom/b43/dma.c  |  4 ++--
 drivers/net/wireless/broadcom/b43/main.c | 16 +++++++++-------
 drivers/net/wireless/broadcom/b43/pio.c  |  6 +++---
 4 files changed, 30 insertions(+), 12 deletions(-)

Comments

Michael Büsch Dec. 31, 2023, 9:26 a.m. UTC | #1
On Sun, 31 Dec 2023 05:03:27 +0000
Rahul Rameshbabu <sergeantsagara@protonmail.com> wrote:

> Rahul Rameshbabu (4):
>   wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled
>   wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled
>   wifi: b43: Stop correct queue in DMA worker when QoS is disabled
>   wifi: b43: Disable QoS for bcm4331
> 
>  drivers/net/wireless/broadcom/b43/b43.h  | 16 ++++++++++++++++
>  drivers/net/wireless/broadcom/b43/dma.c  |  4 ++--
>  drivers/net/wireless/broadcom/b43/main.c | 16 +++++++++-------
>  drivers/net/wireless/broadcom/b43/pio.c  |  6 +++---
>  4 files changed, 30 insertions(+), 12 deletions(-)
> 


Acked-by: Michael Büsch <m@bues.ch>

for the whole v2 series.
Julian Calaby Jan. 1, 2024, 8:02 a.m. UTC | #2
Hi Rahul,

On Sun, Dec 31, 2023 at 4:03 PM Rahul Rameshbabu
<sergeantsagara@protonmail.com> wrote:
>
> When QoS is disabled, the queue priority value will not map to the correct
> ieee80211 queue since there is only one queue. Stop/wake queue 0 when QoS
> is disabled to prevent trying to stop/wake a non-existent queue and failing
> to stop/wake the actual queue instantiated.
>
> Fixes: 5100d5ac81b9 ("b43: Add PIO support for PCMCIA devices")
> Signed-off-by: Rahul Rameshbabu <sergeantsagara@protonmail.com>

LGTM

Reviewed-by: Julian Calaby <julian.calaby@gmail.com>

Thanks,