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:
Is there anyone who could help with fixing this?
From the changelog:
From: Wright Feng <email@example.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