summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Cline <jcline@redhat.com>2019-07-08 19:54:11 +0000
committerJeremy Cline <jcline@redhat.com>2019-07-08 19:54:11 +0000
commit9a5cabeff7054c386de7f794df5b71dadd2b35a4 (patch)
treea9ba739b8288c2e3c85e32172ca164e094d23997
parent958e60d36865d1e0f9886b55a20646035bfcd484 (diff)
downloadkernel-9a5cabeff7054c386de7f794df5b71dadd2b35a4.tar.gz
kernel-9a5cabeff7054c386de7f794df5b71dadd2b35a4.tar.xz
kernel-9a5cabeff7054c386de7f794df5b71dadd2b35a4.zip
Pick up the iwlwifi firmware crash fix (rhbz 1716334)
-rw-r--r--iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch53
-rw-r--r--kernel.spec7
2 files changed, 60 insertions, 0 deletions
diff --git a/iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch b/iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch
new file mode 100644
index 000000000..2539cedfd
--- /dev/null
+++ b/iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch
@@ -0,0 +1,53 @@
+From 3658c2832e3919b68fdba173f3d30079030542c6 Mon Sep 17 00:00:00 2001
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Wed, 3 Jul 2019 11:10:49 +0300
+Subject: [PATCH] iwlwifi: mvm: disable TX-AMSDU on older NICs
+
+On older NICs, we occasionally see issues with A-MSDU support,
+where the commands in the FIFO get confused and then we see an
+assert EDC because the next command in the FIFO isn't TX.
+
+We've tried to isolate this issue and understand where it comes
+from, but haven't found any errors in building the A-MSDU in
+software.
+
+At least for now, disable A-MSDU support on older hardware so
+that users can use it again without fearing the assert.
+
+This fixes https://bugzilla.kernel.org/show_bug.cgi?id=203315.
+
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
+Acked-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+index 6a3b11dd2edf..f9df5e3eeee7 100644
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+@@ -467,7 +467,19 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
+ ieee80211_hw_set(hw, SUPPORTS_VHT_EXT_NSS_BW);
+ ieee80211_hw_set(hw, BUFF_MMPDU_TXQ);
+ ieee80211_hw_set(hw, STA_MMPDU_TXQ);
+- ieee80211_hw_set(hw, TX_AMSDU);
++ /*
++ * On older devices, enabling TX A-MSDU occasionally leads to
++ * something getting messed up, the command read from the FIFO
++ * gets out of sync and isn't a TX command, so that we have an
++ * assert EDC.
++ *
++ * It's not clear where the bug is, but since we didn't used to
++ * support A-MSDU until moving the mac80211 iTXQs, just leave it
++ * for older devices. We also don't see this issue on any newer
++ * devices.
++ */
++ if (mvm->cfg->device_family >= IWL_DEVICE_FAMILY_9000)
++ ieee80211_hw_set(hw, TX_AMSDU);
+ ieee80211_hw_set(hw, TX_FRAG_LIST);
+
+ if (iwl_mvm_has_tlc_offload(mvm)) {
+--
+2.21.0
+
diff --git a/kernel.spec b/kernel.spec
index 1d0512c6a..3c9074664 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -634,6 +634,10 @@ Patch545: efi-bgrt-acpi6.2-support.patch
# Accepted upstream; rhbz 1724357
Patch546: netfilter-ctnetlink-Fix-regression-in-conntrack-entry.patch
+# rhbz 1716334
+# https://patchwork.kernel.org/patch/11029027/
+Patch547: iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1872,6 +1876,9 @@ fi
#
#
%changelog
+* Mon Jul 08 2019 Jeremy Cline <jcline@redhat.com>
+- Fix a firmware crash in Intel 7000 and 8000 devices (rhbz 1716334)
+
* Thu Jul 4 2019 Peter Robinson <pbrobinson@fedoraproject.org>
- Fixes for load avg and display on Raspberry Pi