Home Home > GIT Browse > SLE12-SP4
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-01-16 21:00:47 +0100
committerTakashi Iwai <tiwai@suse.de>2019-01-16 21:00:47 +0100
commitdd6077c8eed7e05c2c9c81f1ad5c239067ab7ecb (patch)
tree60d66afccf473b39676c56f17f505b2eab81c70f
parent571e1317802232ba25e658c34b70165211a07034 (diff)
parent483a7c77b26da47b01cbfba13f537f3e999357b9 (diff)
Merge branch 'users/oneukum/SLE15/for-next' into SLE15rpm-4.12.14-25.28
Pull iwlwifi fixes from Oliver Neukum
-rw-r--r--blacklist.conf2
-rw-r--r--patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch83
-rw-r--r--patches.fixes/0001-iwlwifi-fix-non_shared_ant-for-22000-devices.patch30
-rw-r--r--patches.fixes/0001-iwlwifi-mvm-don-t-send-GEO_TX_POWER_LIMIT-to-old-fir.patch46
-rw-r--r--patches.fixes/0001-libertas_tf-prevent-underflow-in-process_cmdrequest.patch34
-rw-r--r--series.conf4
6 files changed, 199 insertions, 0 deletions
diff --git a/blacklist.conf b/blacklist.conf
index d1699c0fea..fea2831108 100644
--- a/blacklist.conf
+++ b/blacklist.conf
@@ -981,3 +981,5 @@ af27d9403f5b80685b79c88425086edccecaf711 # Warning applies to unsupported config
613a5eb5677923fdaecfa582738c7bcf80abe186 # Problem affects debugging builds only and is harmless
d50d82faa0c964e31f7a946ba8aba7c715ca7ab0 # Problem affects SLUB which is not enabled in kconfig
8363dae23463df5d27aa3f3430ad64f5c8fcee3e # Not applicable for SLE15
+6508497cbdc70b92130fbca57402af6a94e05d20 # patch misattributed
+9ff067ff4c4a08d412e51307f11f7de3fb3045e7 # cosmetic cleanup
diff --git a/patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch b/patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch
new file mode 100644
index 0000000000..2b451b08cc
--- /dev/null
+++ b/patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch
@@ -0,0 +1,83 @@
+From 66e839030fd698586734e017fd55c4f2a89dba0b Mon Sep 17 00:00:00 2001
+From: Matt Chen <matt.chen@intel.com>
+Date: Fri, 3 Aug 2018 14:29:20 +0800
+Subject: [PATCH] iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE
+Git-commit: 66e839030fd698586734e017fd55c4f2a89dba0b
+Patch-mainline: v4.20
+References: bsc#1119086
+
+From coreboot/BIOS:
+Name ("WGDS", Package() {
+ Revision,
+ Package() {
+ DomainType, // 0x7:WiFi ==> We miss this one.
+ WgdsWiFiSarDeltaGroup1PowerMax1, // Group 1 FCC 2400 Max
+ WgdsWiFiSarDeltaGroup1PowerChainA1, // Group 1 FCC 2400 A Offset
+ WgdsWiFiSarDeltaGroup1PowerChainB1, // Group 1 FCC 2400 B Offset
+ WgdsWiFiSarDeltaGroup1PowerMax2, // Group 1 FCC 5200 Max
+ WgdsWiFiSarDeltaGroup1PowerChainA2, // Group 1 FCC 5200 A Offset
+ WgdsWiFiSarDeltaGroup1PowerChainB2, // Group 1 FCC 5200 B Offset
+ WgdsWiFiSarDeltaGroup2PowerMax1, // Group 2 EC Jap 2400 Max
+ WgdsWiFiSarDeltaGroup2PowerChainA1, // Group 2 EC Jap 2400 A Offset
+ WgdsWiFiSarDeltaGroup2PowerChainB1, // Group 2 EC Jap 2400 B Offset
+ WgdsWiFiSarDeltaGroup2PowerMax2, // Group 2 EC Jap 5200 Max
+ WgdsWiFiSarDeltaGroup2PowerChainA2, // Group 2 EC Jap 5200 A Offset
+ WgdsWiFiSarDeltaGroup2PowerChainB2, // Group 2 EC Jap 5200 B Offset
+ WgdsWiFiSarDeltaGroup3PowerMax1, // Group 3 ROW 2400 Max
+ WgdsWiFiSarDeltaGroup3PowerChainA1, // Group 3 ROW 2400 A Offset
+ WgdsWiFiSarDeltaGroup3PowerChainB1, // Group 3 ROW 2400 B Offset
+ WgdsWiFiSarDeltaGroup3PowerMax2, // Group 3 ROW 5200 Max
+ WgdsWiFiSarDeltaGroup3PowerChainA2, // Group 3 ROW 5200 A Offset
+ WgdsWiFiSarDeltaGroup3PowerChainB2, // Group 3 ROW 5200 B Offset
+ }
+})
+
+When read the ACPI data to find out the WGDS, the DATA_SIZE is never
+matched.
+From the above format, it gives 19 numbers, but our driver is hardcode
+as 18.
+Fix it to pass then can parse the data into our wgds table.
+Then we will see:
+iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init Sending GEO_TX_POWER_LIMIT
+iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
+Band[0]: chain A = 68 chain B = 69 max_tx_power = 54
+iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
+Band[1]: chain A = 48 chain B = 49 max_tx_power = 70
+iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
+Band[0]: chain A = 51 chain B = 67 max_tx_power = 50
+iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
+Band[1]: chain A = 69 chain B = 70 max_tx_power = 68
+iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
+Band[0]: chain A = 49 chain B = 50 max_tx_power = 48
+iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
+Band[1]: chain A = 52 chain B = 53 max_tx_power = 51
+
+Cc: stable@vger.kernel.org # 4.12+
+Fixes: a6bff3cb19b7 ("iwlwifi: mvm: add GEO_TX_POWER_LIMIT cmd for geographic tx power table")
+Signed-off-by: Matt Chen <matt.chen@intel.com>
+Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
+Signed-off-by: Oliver Neukum <oneukum@suse.com>
+---
+ drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+@@ -590,7 +590,7 @@ static int iwl_mvm_config_ltr(struct iwl
+ #define ACPI_WRDS_WIFI_DATA_SIZE (IWL_MVM_SAR_TABLE_SIZE + 2)
+ #define ACPI_EWRD_WIFI_DATA_SIZE ((IWL_MVM_SAR_PROFILE_NUM - 1) * \
+ IWL_MVM_SAR_TABLE_SIZE + 3)
+-#define ACPI_WGDS_WIFI_DATA_SIZE 18
++#define ACPI_WGDS_WIFI_DATA_SIZE 19
+ #define ACPI_WGDS_NUM_BANDS 2
+ #define ACPI_WGDS_TABLE_SIZE 3
+
+@@ -968,7 +968,7 @@ static int iwl_mvm_sar_geo_init(struct i
+ IWL_DEBUG_RADIO(mvm, "Sending GEO_TX_POWER_LIMIT\n");
+
+ BUILD_BUG_ON(IWL_NUM_GEO_PROFILES * ACPI_WGDS_NUM_BANDS *
+- ACPI_WGDS_TABLE_SIZE != ACPI_WGDS_WIFI_DATA_SIZE);
++ ACPI_WGDS_TABLE_SIZE + 1 != ACPI_WGDS_WIFI_DATA_SIZE);
+
+ for (i = 0; i < IWL_NUM_GEO_PROFILES; i++) {
+ struct iwl_per_chain_offset *chain =
diff --git a/patches.fixes/0001-iwlwifi-fix-non_shared_ant-for-22000-devices.patch b/patches.fixes/0001-iwlwifi-fix-non_shared_ant-for-22000-devices.patch
new file mode 100644
index 0000000000..7d067f8c75
--- /dev/null
+++ b/patches.fixes/0001-iwlwifi-fix-non_shared_ant-for-22000-devices.patch
@@ -0,0 +1,30 @@
+From a40287727d9b737e183959fd31a4e0c55f312853 Mon Sep 17 00:00:00 2001
+From: Erel Geron <erelx.geron@intel.com>
+Date: Mon, 28 May 2018 17:15:56 +0300
+Subject: [PATCH] iwlwifi: fix non_shared_ant for 22000 devices
+Git-commit: a40287727d9b737e183959fd31a4e0c55f312853
+Patch-mainline: v4.20
+References: bsc#1119086
+
+The non-shared antenna was wrong for 22000 device series.
+Fix it to ANT_B for correct antenna preference by coex in MVM driver.
+
+Fixes: e34d975e40ff ("iwlwifi: Add a000 HW family support")
+Signed-off-by: Erel Geron <erelx.geron@intel.com>
+Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
+Signed-off-by: Oliver Neukum <oneukum@suse.com>
+---
+ drivers/net/wireless/intel/iwlwifi/cfg/a000.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/intel/iwlwifi/cfg/a000.c
++++ b/drivers/net/wireless/intel/iwlwifi/cfg/a000.c
+@@ -118,7 +118,7 @@ static const struct iwl_ht_params iwl_a0
+ .base_params = &iwl_a000_base_params, \
+ .led_mode = IWL_LED_RF_STATE, \
+ .nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_A000, \
+- .non_shared_ant = ANT_A, \
++ .non_shared_ant = ANT_B, \
+ .dccm_offset = IWL_A000_DCCM_OFFSET, \
+ .dccm_len = IWL_A000_DCCM_LEN, \
+ .dccm2_offset = IWL_A000_DCCM2_OFFSET, \
diff --git a/patches.fixes/0001-iwlwifi-mvm-don-t-send-GEO_TX_POWER_LIMIT-to-old-fir.patch b/patches.fixes/0001-iwlwifi-mvm-don-t-send-GEO_TX_POWER_LIMIT-to-old-fir.patch
new file mode 100644
index 0000000000..c8449cc247
--- /dev/null
+++ b/patches.fixes/0001-iwlwifi-mvm-don-t-send-GEO_TX_POWER_LIMIT-to-old-fir.patch
@@ -0,0 +1,46 @@
+From eca1e56ceedd9cc185eb18baf307d3ff2e4af376 Mon Sep 17 00:00:00 2001
+From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Date: Fri, 14 Dec 2018 18:30:22 +0200
+Subject: [PATCH] iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT to old firmwares
+Git-commit: eca1e56ceedd9cc185eb18baf307d3ff2e4af376
+Patch-mainline: v4.20
+References: bsc#1119086
+
+Old firmware versions don't support this command. Sending it
+to any firmware before -41.ucode will crash the firmware.
+
+This fixes https://bugzilla.kernel.org/show_bug.cgi?id=201975
+
+Fixes: 66e839030fd6 ("iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE")
+CC: <stable@vger.kernel.org> #4.19+
+Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Signed-off-by: Oliver Neukum <oneukum@suse.com>
+---
+ drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+index 2ba890445c35..1689bead1b4f 100644
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+@@ -881,6 +881,15 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
+ int ret, i, j;
+ u16 cmd_wide_id = WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT);
+
++ /*
++ * This command is not supported on earlier firmware versions.
++ * Unfortunately, we don't have a TLV API flag to rely on, so
++ * rely on the major version which is in the first byte of
++ * ucode_ver.
++ */
++ if (IWL_UCODE_SERIAL(mvm->fw->ucode_ver) < 41)
++ return 0;
++
+ ret = iwl_mvm_sar_get_wgds_table(mvm);
+ if (ret < 0) {
+ IWL_DEBUG_RADIO(mvm,
+--
+2.16.4
+
diff --git a/patches.fixes/0001-libertas_tf-prevent-underflow-in-process_cmdrequest.patch b/patches.fixes/0001-libertas_tf-prevent-underflow-in-process_cmdrequest.patch
new file mode 100644
index 0000000000..1ea84de7f0
--- /dev/null
+++ b/patches.fixes/0001-libertas_tf-prevent-underflow-in-process_cmdrequest.patch
@@ -0,0 +1,34 @@
+From 3348ef6a6a126706d6a73ed40c18d8033df72783 Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter@oracle.com>
+Date: Tue, 14 Aug 2018 12:07:48 +0300
+Subject: [PATCH] libertas_tf: prevent underflow in process_cmdrequest()
+Git-commit: 3348ef6a6a126706d6a73ed40c18d8033df72783
+Patch-mainline: v4.20
+References: bsc#1119086
+
+If recvlength is less than MESSAGE_HEADER_LEN (4) we would end up
+corrupting memory.
+
+Fixes: c305a19a0d0a ("libertas_tf: usb specific functions")
+Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Signed-off-by: Oliver Neukum <oneukum@suse.com>
+---
+ drivers/net/wireless/marvell/libertas_tf/if_usb.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c
++++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
+@@ -603,9 +603,10 @@ static inline void process_cmdrequest(in
+ struct if_usb_card *cardp,
+ struct lbtf_private *priv)
+ {
+- if (recvlength > LBS_CMD_BUFFER_SIZE) {
++ if (recvlength < MESSAGE_HEADER_LEN ||
++ recvlength > LBS_CMD_BUFFER_SIZE) {
+ lbtf_deb_usbd(&cardp->udev->dev,
+- "The receive buffer is too large\n");
++ "The receive buffer is invalid %d\n", recvlength);
+ kfree_skb(skb);
+ return;
+ }
diff --git a/series.conf b/series.conf
index 925d5fb850..3d39129fd4 100644
--- a/series.conf
+++ b/series.conf
@@ -18901,8 +18901,10 @@
patches.fixes/iwlwifi-don-t-WARN-on-trying-to-dump-dead-firmware.patch
patches.drivers/iwlwifi-mvm-fix-BAR-seq-ctrl-reporting.patch
patches.drivers/iwlwifi-mvm-send-BCAST-management-frames-to-the-righ.patch
+ patches.fixes/0001-libertas_tf-prevent-underflow-in-process_cmdrequest.patch
patches.drivers/brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
patches.drivers/iwlwifi-dbg-don-t-crash-if-the-firmware-crashes-in-t.patch
+ patches.fixes/0001-iwlwifi-fix-non_shared_ant-for-22000-devices.patch
patches.drivers/iwlwifi-pcie-gen2-build-A-MSDU-only-for-GSO.patch
patches.drivers/0001-iwlwifi-fix-LED-command-capability-bit.patch
patches.drivers/iwlwifi-mvm-Allow-TKIP-for-AP-mode.patch
@@ -19373,6 +19375,7 @@
patches.suse/net-mlx5e-Fix-selftest-for-small-MTUs.patch
patches.suse/tg3-Add-PHY-reset-for-5717-5719-5720-in-change-ring-.patch
patches.drivers/brcmutil-really-fix-decoding-channel-info-for-160-MH.patch
+ patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch
patches.drivers/iwlwifi-mvm-support-sta_statistics-even-on-older-fir.patch
patches.drivers/iwlwifi-mvm-fix-regulatory-domain-update-when-the-fi.patch
patches.drivers/iwlwifi-mvm-don-t-use-SAR-Geo-if-basic-SAR-is-not-us.patch
@@ -19571,6 +19574,7 @@
patches.arch/ibmvnic-Fix-non-atomic-memory-allocation-in-IRQ-cont.patch
patches.drivers/USB-hso-Fix-OOB-memory-access-in-hso_probe-hso_get_c.patch
patches.fixes/0001-xen-netfront-tolerate-frags-with-no-data.patch
+ patches.fixes/0001-iwlwifi-mvm-don-t-send-GEO_TX_POWER_LIMIT-to-old-fir.patch
patches.drivers/mmc-omap_hsmmc-fix-DMA-API-warning.patch
patches.drivers/mmc-core-Reset-HPI-enabled-state-during-re-init-and-.patch
patches.drivers/mmc-core-Allow-BKOPS-and-CACHE-ctrl-even-if-no-HPI-s.patch