|
Takashi Iwai |
ac83bf |
From 551d793f65364c904921ac168d4b4028bb51be69 Mon Sep 17 00:00:00 2001
|
|
Takashi Iwai |
ac83bf |
From: Luca Coelho <luciano.coelho@intel.com>
|
|
Takashi Iwai |
ac83bf |
Date: Wed, 10 Feb 2021 13:56:30 +0200
|
|
Takashi Iwai |
ac83bf |
Subject: [PATCH] iwlwifi: mvm: store PPAG enabled/disabled flag properly
|
|
Takashi Iwai |
ac83bf |
Git-commit: 551d793f65364c904921ac168d4b4028bb51be69
|
|
Takashi Iwai |
ac83bf |
Patch-mainline: v5.12-rc1
|
|
Takashi Iwai |
ac83bf |
References: bsc#1187495
|
|
Takashi Iwai |
ac83bf |
|
|
Takashi Iwai |
ac83bf |
When reading the PPAG table from ACPI, we should store everything in
|
|
Takashi Iwai |
ac83bf |
our fwrt structure, so it can be accessed later. But we had a local
|
|
Takashi Iwai |
ac83bf |
ppag_table variable in the function and were erroneously storing the
|
|
Takashi Iwai |
ac83bf |
enabled/disabled flag in it instead of storing it in the fwrt. Fix
|
|
Takashi Iwai |
ac83bf |
this by removing the local variable and storing everything directly in
|
|
Takashi Iwai |
ac83bf |
fwrt.
|
|
Takashi Iwai |
ac83bf |
|
|
Takashi Iwai |
ac83bf |
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
|
|
Takashi Iwai |
ac83bf |
Fixes: f2134f66f40e ("iwlwifi: acpi: support ppag table command v2")
|
|
Takashi Iwai |
ac83bf |
Link: https://lore.kernel.org/r/iwlwifi.20210210135352.889862e6d393.I8b894c1b2b3fe0ad2fb39bf438273ea47eb5afa4@changeid
|
|
Takashi Iwai |
ac83bf |
Acked-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
ac83bf |
|
|
Takashi Iwai |
ac83bf |
---
|
|
Takashi Iwai |
ac83bf |
drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 7 +++----
|
|
Takashi Iwai |
ac83bf |
1 file changed, 3 insertions(+), 4 deletions(-)
|
|
Takashi Iwai |
ac83bf |
|
|
Takashi Iwai |
ac83bf |
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
|
|
Takashi Iwai |
ac83bf |
index 3bfb80dd17cf..57471ab2f5ef 100644
|
|
Takashi Iwai |
ac83bf |
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
|
|
Takashi Iwai |
ac83bf |
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
|
|
Takashi Iwai |
ac83bf |
@@ -895,7 +895,6 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
|
|
Takashi Iwai |
ac83bf |
static int iwl_mvm_get_ppag_table(struct iwl_mvm *mvm)
|
|
Takashi Iwai |
ac83bf |
{
|
|
Takashi Iwai |
ac83bf |
union acpi_object *wifi_pkg, *data, *enabled;
|
|
Takashi Iwai |
ac83bf |
- union iwl_ppag_table_cmd ppag_table;
|
|
Takashi Iwai |
ac83bf |
int i, j, ret, tbl_rev, num_sub_bands;
|
|
Takashi Iwai |
ac83bf |
int idx = 2;
|
|
Takashi Iwai |
ac83bf |
s8 *gain;
|
|
Takashi Iwai |
ac83bf |
@@ -949,8 +948,8 @@ static int iwl_mvm_get_ppag_table(struct iwl_mvm *mvm)
|
|
Takashi Iwai |
ac83bf |
goto out_free;
|
|
Takashi Iwai |
ac83bf |
}
|
|
Takashi Iwai |
ac83bf |
|
|
Takashi Iwai |
ac83bf |
- ppag_table.v1.enabled = cpu_to_le32(enabled->integer.value);
|
|
Takashi Iwai |
ac83bf |
- if (!ppag_table.v1.enabled) {
|
|
Takashi Iwai |
ac83bf |
+ mvm->fwrt.ppag_table.v1.enabled = cpu_to_le32(enabled->integer.value);
|
|
Takashi Iwai |
ac83bf |
+ if (!mvm->fwrt.ppag_table.v1.enabled) {
|
|
Takashi Iwai |
ac83bf |
ret = 0;
|
|
Takashi Iwai |
ac83bf |
goto out_free;
|
|
Takashi Iwai |
ac83bf |
}
|
|
Takashi Iwai |
ac83bf |
@@ -978,7 +977,7 @@ static int iwl_mvm_get_ppag_table(struct iwl_mvm *mvm)
|
|
Takashi Iwai |
ac83bf |
(j != 0 &&
|
|
Takashi Iwai |
ac83bf |
(gain[i * num_sub_bands + j] > ACPI_PPAG_MAX_HB ||
|
|
Takashi Iwai |
ac83bf |
gain[i * num_sub_bands + j] < ACPI_PPAG_MIN_HB))) {
|
|
Takashi Iwai |
ac83bf |
- ppag_table.v1.enabled = cpu_to_le32(0);
|
|
Takashi Iwai |
ac83bf |
+ mvm->fwrt.ppag_table.v1.enabled = cpu_to_le32(0);
|
|
Takashi Iwai |
ac83bf |
ret = -EINVAL;
|
|
Takashi Iwai |
ac83bf |
goto out_free;
|
|
Takashi Iwai |
ac83bf |
}
|
|
Takashi Iwai |
ac83bf |
--
|
|
Takashi Iwai |
ac83bf |
2.26.2
|
|
Takashi Iwai |
ac83bf |
|