Home Home > GIT Browse > SLE12-SP4-AZURE
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKernel Build Daemon <kbuild@suse.de>2019-01-14 21:38:43 +0100
committerKernel Build Daemon <kbuild@suse.de>2019-01-14 21:38:43 +0100
commit34aaefb40b6e456f41072706174ba255da59c3b1 (patch)
tree547166c79ea6a7e00eb029b301a27e495890d554
parent30dd0ebf4264657043060342582929fa2e0fbd42 (diff)
parentc32270b6e92aaebc565a77ccb310c76d93af9842 (diff)
Merge branch 'users/tiwai/SLE15/for-next' into SLE15
-rw-r--r--patches.suse/ath10k-QCA9377-firmware-limit.patch40
-rw-r--r--series.conf1
2 files changed, 41 insertions, 0 deletions
diff --git a/patches.suse/ath10k-QCA9377-firmware-limit.patch b/patches.suse/ath10k-QCA9377-firmware-limit.patch
new file mode 100644
index 0000000000..5633067c2f
--- /dev/null
+++ b/patches.suse/ath10k-QCA9377-firmware-limit.patch
@@ -0,0 +1,40 @@
+From: Takashi Iwai <tiwai@suse.de>
+Subject: Limit max FW API version for QCA9377
+Patch-mainline: Never, SLE15-SP0 only (not for SP1!)
+References: bsc#1121714, bsc#1121715
+
+QCA9377 got a new firmware API 6 from upstream, but this is broken for
+SLE15 / Leap 15.0 ath10k driver code. As a workaround, introduce the
+API version limit per board model, and define for QCA9377 and QCA6174.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/wireless/ath/ath10k/core.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/ath/ath10k/core.c
++++ b/drivers/net/wireless/ath/ath10k/core.c
+@@ -1411,12 +1411,21 @@ static void ath10k_core_get_fw_name(stru
+ static int ath10k_core_fetch_firmware_files(struct ath10k *ar)
+ {
+ int ret, i;
++ int api_max;
+ char fw_name[100];
+
+ /* calibration file is optional, don't check for any errors */
+ ath10k_fetch_cal_file(ar);
+
+- for (i = ATH10K_FW_API_MAX; i >= ATH10K_FW_API_MIN; i--) {
++ api_max = ATH10K_FW_API_MAX;
++ /* XXX: SLE15/Leap-15.0 version of ath10k doesn't work with the latest
++ * FW API for some chips.
++ */
++ if (ar->hw_params.dev_id == QCA9377_1_0_DEVICE_ID ||
++ ar->hw_params.dev_id == QCA6174_2_1_DEVICE_ID)
++ api_max = 5;
++
++ for (i = api_max; i >= ATH10K_FW_API_MIN; i--) {
+ ar->fw_api = i;
+ ath10k_dbg(ar, ATH10K_DBG_BOOT, "trying fw api %d\n",
+ ar->fw_api);
diff --git a/series.conf b/series.conf
index d863c63580..7d47bdb234 100644
--- a/series.conf
+++ b/series.conf
@@ -20102,6 +20102,7 @@
patches.kabi/libertas-kabi-fix.patch
patches.kabi/ath9k-msi-kabi-workaround.patch
patches.kabi/ath10k-wmi-kabi-fix.patch
+ patches.suse/ath10k-QCA9377-firmware-limit.patch
########################################################
# ISDN