diff options
author | David P <megver83@parabola.nu> | 2020-04-27 11:45:48 -0400 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2020-04-27 11:45:48 -0400 |
commit | 940cbcb215b3a06b0f6a85c0700d6d642d1bebc8 (patch) | |
tree | 750cf52f9589f37c52237bb954800859ce714a2b /libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch | |
parent | 578437f6d0d3ccdba2df677feb9417e0802011a6 (diff) | |
download | abslibre-940cbcb215b3a06b0f6a85c0700d6d642d1bebc8.tar.gz abslibre-940cbcb215b3a06b0f6a85c0700d6d642d1bebc8.tar.bz2 abslibre-940cbcb215b3a06b0f6a85c0700d6d642d1bebc8.zip |
updpkg: libre/linux-libre-pae 5.6.7-1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch')
-rw-r--r-- | libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch b/libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch deleted file mode 100644 index dc24aeaf5..000000000 --- a/libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch +++ /dev/null @@ -1,152 +0,0 @@ -From ec701fa986108fae10bee7cfe269e12210521c5f Mon Sep 17 00:00:00 2001 -From: Golan Ben Ami <golan.ben.ami@intel.com> -Date: Wed, 18 Mar 2020 08:12:54 +0200 -Subject: [PATCH 11/11] iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table - -The GEO_TX_POWER_LIMIT command was sent although -there is no wgds table, so the fw got wrong SAR values -from the driver. - -Fix this by avoiding sending the command if no wgds -tables are available. - -Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> -Fixes: 39c1a9728f93 ("iwlwifi: refactor the SAR tables from mvm to acpi") -Signed-off-by: Luca Coelho <luciano.coelho@intel.com> -Tested-By: Jonathan McDowell <noodles@earth.li> -Tested-by: Len Brown <len.brown@intel.com> ---- - drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 14 ++++++++------ - drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 14 ++++++++------ - drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 ++++++++- - 3 files changed, 24 insertions(+), 13 deletions(-) - -diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c -index 48d375a86d86..ba2aff3af0fe 100644 ---- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c -+++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c -@@ -6,7 +6,7 @@ - * GPL LICENSE SUMMARY - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright (C) 2019 Intel Corporation -+ * Copyright (C) 2019 - 2020 Intel Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as -@@ -27,7 +27,7 @@ - * BSD LICENSE - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright (C) 2019 Intel Corporation -+ * Copyright (C) 2019 - 2020 Intel Corporation - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -491,13 +491,13 @@ int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, - } - IWL_EXPORT_SYMBOL(iwl_validate_sar_geo_profile); - --void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -- struct iwl_per_chain_offset_group *table) -+int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -+ struct iwl_per_chain_offset_group *table) - { - int ret, i, j; - - if (!iwl_sar_geo_support(fwrt)) -- return; -+ return -EOPNOTSUPP; - - ret = iwl_sar_get_wgds_table(fwrt); - if (ret < 0) { -@@ -505,7 +505,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, - "Geo SAR BIOS table invalid or unavailable. (%d)\n", - ret); - /* we don't fail if the table is not available */ -- return; -+ return -ENOENT; - } - - BUILD_BUG_ON(ACPI_NUM_GEO_PROFILES * ACPI_WGDS_NUM_BANDS * -@@ -530,5 +530,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, - i, j, value[1], value[2], value[0]); - } - } -+ -+ return 0; - } - IWL_EXPORT_SYMBOL(iwl_sar_geo_init); -diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h -index 4a6e8262974b..5590e5cc8fbb 100644 ---- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h -+++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h -@@ -6,7 +6,7 @@ - * GPL LICENSE SUMMARY - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright(c) 2018 - 2019 Intel Corporation -+ * Copyright(c) 2018 - 2020 Intel Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as -@@ -27,7 +27,7 @@ - * BSD LICENSE - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright(c) 2018 - 2019 Intel Corporation -+ * Copyright(c) 2018 - 2020 Intel Corporation - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -171,8 +171,9 @@ bool iwl_sar_geo_support(struct iwl_fw_runtime *fwrt); - int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, - struct iwl_host_cmd *cmd); - --void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -- struct iwl_per_chain_offset_group *table); -+int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -+ struct iwl_per_chain_offset_group *table); -+ - #else /* CONFIG_ACPI */ - - static inline void *iwl_acpi_get_object(struct device *dev, acpi_string method) -@@ -243,9 +244,10 @@ static inline int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, - return -ENOENT; - } - --static inline void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -- struct iwl_per_chain_offset_group *table) -+static inline int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -+ struct iwl_per_chain_offset_group *table) - { -+ return -ENOENT; - } - - #endif /* CONFIG_ACPI */ -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c -index c09624d8d7ee..81b7da5815eb 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c -@@ -749,10 +749,17 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm) - u16 cmd_wide_id = WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT); - union geo_tx_power_profiles_cmd cmd; - u16 len; -+ int ret; - - cmd.geo_cmd.ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_SET_TABLES); - -- iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table); -+ ret = iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table); -+ /* -+ * It is a valid scenario to not support SAR, or miss wgds table, -+ * but in that case there is no need to send the command. -+ */ -+ if (ret) -+ return 0; - - cmd.geo_cmd.table_revision = cpu_to_le32(mvm->fwrt.geo_rev); - --- -2.25.2 - |