summarylogtreecommitdiffstats
path: root/0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-Q.patch
diff options
context:
space:
mode:
authorgraysky2020-01-03 11:08:24 -0500
committergraysky2020-01-03 11:08:24 -0500
commit7478a62c68c07c04b80d59171fa421701c01db87 (patch)
tree33ecd6eb3befe8f1c82e454954773aaca3815548 /0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-Q.patch
parent6350ed57c7daa464a71a9f8a0d4199ac0e5d8b52 (diff)
downloadaur-7478a62c68c07c04b80d59171fa421701c01db87.tar.gz
Update to 5.4.8rc1-1
Diffstat (limited to '0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-Q.patch')
-rw-r--r--0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-Q.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-Q.patch b/0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-Q.patch
new file mode 100644
index 000000000000..b89d77737ea7
--- /dev/null
+++ b/0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-Q.patch
@@ -0,0 +1,61 @@
+From 775933c04b65436da05ddc6c597fe1bce291e2ac Mon Sep 17 00:00:00 2001
+From: Anders Kaseorg <andersk@mit.edu>
+Date: Mon, 2 Dec 2019 17:09:20 -0500
+Subject: [PATCH 07/14] Revert "iwlwifi: assign directly to iwl_trans->cfg in
+ QuZ detection"
+
+This reverts commit 968dcfb4905245dc64d65312c0d17692fa087b99.
+
+Both that commit and commit 809805a820c6445f7a701ded24fdc6bbc841d1e4
+attempted to fix the same bug (dead assignments to the local variable
+cfg), but they did so in incompatible ways. When they were both merged,
+independently of each other, the combination actually caused the bug to
+reappear, leading to a firmware crash on boot for some cards.
+
+https://bugzilla.kernel.org/show_bug.cgi?id=205719
+
+Signed-off-by: Anders Kaseorg <andersk@mit.edu>
+Acked-by: Luca Coelho <luciano.coelho@intel.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 24 +++++++++----------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
+index 040cec17d3ad..b0b7eca1754e 100644
+--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
++++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
+@@ -1111,18 +1111,18 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+
+ /* same thing for QuZ... */
+ if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QUZ) {
+- if (iwl_trans->cfg == &iwl_ax101_cfg_qu_hr)
+- iwl_trans->cfg = &iwl_ax101_cfg_quz_hr;
+- else if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr)
+- iwl_trans->cfg = &iwl_ax201_cfg_quz_hr;
+- else if (iwl_trans->cfg == &iwl9461_2ac_cfg_qu_b0_jf_b0)
+- iwl_trans->cfg = &iwl9461_2ac_cfg_quz_a0_jf_b0_soc;
+- else if (iwl_trans->cfg == &iwl9462_2ac_cfg_qu_b0_jf_b0)
+- iwl_trans->cfg = &iwl9462_2ac_cfg_quz_a0_jf_b0_soc;
+- else if (iwl_trans->cfg == &iwl9560_2ac_cfg_qu_b0_jf_b0)
+- iwl_trans->cfg = &iwl9560_2ac_cfg_quz_a0_jf_b0_soc;
+- else if (iwl_trans->cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0)
+- iwl_trans->cfg = &iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc;
++ if (cfg == &iwl_ax101_cfg_qu_hr)
++ cfg = &iwl_ax101_cfg_quz_hr;
++ else if (cfg == &iwl_ax201_cfg_qu_hr)
++ cfg = &iwl_ax201_cfg_quz_hr;
++ else if (cfg == &iwl9461_2ac_cfg_qu_b0_jf_b0)
++ cfg = &iwl9461_2ac_cfg_quz_a0_jf_b0_soc;
++ else if (cfg == &iwl9462_2ac_cfg_qu_b0_jf_b0)
++ cfg = &iwl9462_2ac_cfg_quz_a0_jf_b0_soc;
++ else if (cfg == &iwl9560_2ac_cfg_qu_b0_jf_b0)
++ cfg = &iwl9560_2ac_cfg_quz_a0_jf_b0_soc;
++ else if (cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0)
++ cfg = &iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc;
+ }
+
+ #endif
+--
+2.24.1
+