Re: [PATCH wireless 5/5] wifi: b43: Support advertising lack of QoS capability

Michael Büsch
2023-12-30T13:45:59Z

[-- Attachment #1: Type: text/plain, Size: 1362 bytes --]

On Sat, 30 Dec 2023 04:51:51 +0000
Rahul Rameshbabu <sergeantsagara@protonmail.com> wrote:

> bcm4331 appears to lack QoS support.

I think that's rather unlikely.
The firmware probably is just too old for this device.

> +static const u16 b43_no_qos_chip_ids[] = {
> + BCMA_CHIP_ID_BCM4331,
> + 0,
> +};
> +
> +static bool b43_qos_not_supported(struct b43_wldev *dev)
> +{
> + int idx;
> +
> + for (idx = 0; b43_no_qos_chip_ids[idx]; idx++)
> + if (dev->dev->chip_id == b43_no_qos_chip_ids[idx])
> + return true;
> +
> + return false;
> +}
> +
> static void b43_wireless_core_exit(struct b43_wldev *dev);
> static int b43_wireless_core_init(struct b43_wldev *dev);
> static struct b43_wldev * b43_wireless_core_stop(struct b43_wldev *dev);
> @@ -2587,7 +2603,7 @@ static void b43_request_firmware(struct work_struct *work)
>
> start_ieee80211:
> wl->hw->queues = B43_QOS_QUEUE_NUM;
> - if (!modparam_qos || dev->fw.opensource)
> + if (!modparam_qos || dev->fw.opensource || b43_qos_not_supported(wl->current_dev))

This looks a bit over-engineered to me.
Can we just instead do it like this, please?

if (!modparam_qos || dev->fw.opensource || dev->dev->chip_id == BCMA_CHIP_ID_BCM4331)

> wl->hw->queues = 1;
>
> err = ieee80211_register_hw(wl->hw);

--
Michael Büsch
https://bues.ch/

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]