Home Home > GIT Browse > SLE15-SP1
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Tesarik <ptesarik@suse.cz>2019-01-17 16:48:07 +0100
committerPetr Tesarik <ptesarik@suse.cz>2019-01-17 16:48:07 +0100
commitc1f5045df8f88f872ff6694b17bc8518bcc7bdd7 (patch)
tree36466a06365025ba2e4a00618e9a030c7b4fdb9d
parentc4f6ef7976d10058ad74b124d0117a2c9eaff3c0 (diff)
parentaa1139dbcdcb6b15d2cd127989c73b6b41fac5da (diff)
Merge branch 'users/mbrugger/SLE15-SP1/for-next' into SLE15-SP1
Pull brcmfmac fix from Matthias Brugger
-rw-r--r--patches.drivers/brcmfmac-Use-firmware_request_nowarn-for-the-clm_blo.patch56
-rw-r--r--series.conf3
2 files changed, 59 insertions, 0 deletions
diff --git a/patches.drivers/brcmfmac-Use-firmware_request_nowarn-for-the-clm_blo.patch b/patches.drivers/brcmfmac-Use-firmware_request_nowarn-for-the-clm_blo.patch
new file mode 100644
index 0000000000..25252db415
--- /dev/null
+++ b/patches.drivers/brcmfmac-Use-firmware_request_nowarn-for-the-clm_blo.patch
@@ -0,0 +1,56 @@
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 7 Jan 2019 14:33:27 +0100
+Subject: brcmfmac: Use firmware_request_nowarn for the clm_blob
+Git-commit: 4ad0be160544ffbdafb7cec39bb8e6dd0a97317a
+Patch-mainline: Queued
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git
+References: fate#326215
+
+The linux-firmware brcmfmac firmware files contain an embedded table with
+per country allowed channels and strength info.
+
+For recent hardware these versions of the firmware are specially build for
+linux-firmware, the firmware files directly available from Cypress rely on
+a separate clm_blob file for this info.
+
+For some unknown reason Cypress refuses 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".
+
+This commit switches to firmware_request_nowarn, fixing almost any brcmfmac
+device logging the warning (it leaves the brcmfmac info message in place).
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Signed-off-by: Matthias Brugger <mbrugger@suse.com>
+---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+index 1f1e95a15a17..0ce1d8174e6d 100644
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+@@ -149,7 +149,7 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
+ return err;
+ }
+
+- err = request_firmware(&clm, clm_name, bus->dev);
++ err = firmware_request_nowarn(&clm, clm_name, bus->dev);
+ if (err) {
+ brcmf_info("no clm_blob available (err=%d), device may have limited channels available\n",
+ err);
+--
+2.20.1
+
diff --git a/series.conf b/series.conf
index 1020333b21..9e300ec2f8 100644
--- a/series.conf
+++ b/series.conf
@@ -42487,6 +42487,9 @@
patches.suse/0005-MODSIGN-Allow-the-db-UEFI-variable-to-be-suppressed.patch
patches.suse/0006-modsign-Use-secondary-trust-keyring-for-module-signi.patch
+ # kvalo/wireless-drivers master
+ patches.drivers/brcmfmac-Use-firmware_request_nowarn-for-the-clm_blo.patch
+
# out-of-tree patches
patches.drivers/firmware-arm_sdei-fix-wrong-of_node_put-in-init-function.patch
patches.arch/powerpc-pseries-Track-LMB-nid-instead-of-using-devic.patch