I am currently experiencing this issue with the kernel update - not sure if it’s related to v6.1.3
or the previous patch, as I have not updated in-between.
Basically, my Asus PCE-AC88 (1043:86fb) is not working anymore because brcmfmac
fails to load with the following error:
[ 2740.647600] brcmfmac 0000:0d:00.0: brcmf_pcie_init_ringbuffers: invalid max_flowrings(264)
I was not able to pass a different max_flowrings=xxx
parameter, because that info comes from a devinfo
structure that the driver gets from the hardware directly, and it does not seem to me to be an overridable setting:
https://sbexr.rabexc.org/latest/sources/e0/6e32851d484b8b.html#004bf002004bf006
Is there anyone who could help with fixing this?
From the changelog:
From: Wright Feng <wright.feng@cypress.com>
[ Upstream commit 2aca4f3734bd717e04943ddf340d49ab62299a00 ]
When firmware hit trap at initialization, host will read abnormal
max_flowrings number from dongle, and it will cause kernel panic when
doing iowrite to initialize dongle ring.
To detect this error at early stage, we directly return error when getting
invalid max_flowrings(>256).
It seems that this parameter is not supposed to be changeable at all, and the patch now simply uses its value as a red herring to detect an error during initialisation. This could mean that my card driver has been trapping such error, but was safe to ignore in my case, and now with the new kernel it cannot be ignored anymore.
In such a case, the only solution is to wait for an updated firmware , which is a pain to obtain, because there is no direct, out-of-the-box way to use this card on Linux: the firmware must be obtained by extracting it from the driver for a Linux-based embedded system as described here.
EDIT: previous Kernel 6.1.1 (from stable) works, and works out of the box: there is no need to extract the firmware from another driver package because it comes with the standard linux-firmware
and is the same as build 41700.
So, the workaround for now is to stick to 6.1.1…
Moderator edit: Use actual link instead of Google Webcache link