1
0
Fork 0
remarkable-linux/drivers/net/wireless
Eirik Schultz d4e7e07a39 brcmfmac: Use request_firmware_direct for the clm_blob
from patchwork.kernel.org:

The linux-firmware brcmfmac firmware files contain an embedded table with
per country allowed channels and strength info.

These versions of the firmware are specially build for linux-firmware,
the firmware files directly available from Broadcom / Cypress rely on
a separate clm_blob file for this info.

For some unknown reason Broadcom / Cypress refuse to provide the standard
firmware files + clm_blob files it uses elsewhere for inclusion into
linux-firmware, instead relying on these special builds with the clm_blob
info embedded. This means that the linux-firmware firmware versions often
lag behind, but I digress.

The brcmfmac driver does support the separate clm_blob file and always
tries to load this. Currently we use request_firmware for this. This means
that on any standard install, using the standard combo of linux-kernel +
linux-firmware, we will get a warning:
"Direct firmware load for ... failed with error -2"

On top of this, brcmfmac itself prints: "no clm_blob available (err=-2),
device may have limited channels available" and we will get a slow
fallback to the userspace firmware loading mechanism.

This commit fixes both almost any brcmfmac device logging the warning
(leaving the brcmfmac info message in pace), as well as the slow and
unnecesary fallback by switching to request_firmware_direct for
the clm_blob.
2020-11-06 09:19:41 +01:00
..
admtek License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ath MLK-17136 ath10k: clear fetch board fail log 2018-10-29 11:10:38 +08:00
atmel at76c50x: constify usb_device_id 2017-08-10 11:55:57 +03:00
bcmdhd net: bcmdhd: Remove debug info 2020-10-08 20:41:29 +02:00
broadcom brcmfmac: Use request_firmware_direct for the clm_blob 2020-11-06 09:19:41 +01:00
cisco License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intel iwlwifi: add more card IDs for 9000 series 2018-08-06 16:20:51 +02:00
intersil p54: don't unregister leds when they are not initialized 2017-11-30 08:40:52 +00:00
marvell libertas: fix suspend and resume for SDIO connected cards 2018-09-09 19:55:53 +02:00
mediatek mt7601u: check memory allocation failure 2017-08-24 12:54:33 +03:00
quantenna qtnfmac: modify full Tx queue error reporting 2017-12-20 10:10:30 +01:00
ralink Revert "rt2800: use TXOP_BACKOFF for probe frames" 2018-06-05 11:41:59 +02:00
realtek rtlwifi: rtl8821ae: fix firmware is not ready to run 2018-07-22 14:28:48 +02:00
rsi rsi: fix nommu_map_sg overflow kernel panic 2018-08-03 07:50:39 +02:00
st mac80211: use QoS NDP for AP probing 2018-02-03 17:39:03 +01:00
ti wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout() 2018-10-03 17:00:52 -07:00
zydas License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig bcmdhd: merge bcmdhd driver into prod kernel tree 2020-10-08 01:37:04 +02:00
Makefile bcmdhd: merge bcmdhd driver into prod kernel tree 2020-10-08 01:37:04 +02:00
mac80211_hwsim.c mac80211_hwsim: correct use of IEEE80211_VHT_CAP_RXSTBC_X 2018-10-10 08:54:19 +02:00
mac80211_hwsim.h mac80211_hwsim: fix command documentation indentation 2017-03-06 09:21:48 +01:00
ray_cs.c ray_cs: Avoid reading past end of buffer 2017-05-22 18:27:22 +03:00
ray_cs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rayctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rndis_wlan.c rndis_wlan: potential buffer overflow in rndis_wlan_auth_indication() 2018-10-03 17:00:52 -07:00
wl3501.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wl3501_cs.c wl3501_cs: fix spelling mistake: "Insupported" -> "Unsupported" 2017-07-28 18:06:31 +03:00