Home Home > GIT Browse > stable
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2019-08-16 22:01:45 +0200
committerJiri Slaby <jslaby@suse.cz>2019-08-16 22:25:11 +0200
commit14df68827c73ea70e567f47c9a9515a4cbd0cb05 (patch)
tree18635206a69efe77f01b21f450b6b3488a2f0d86
parent36c4608d4578d6412d1738ed74396ae6e7e05fbe (diff)
iwlwifi: don't unmap as page memory that was mapped as single
-rw-r--r--patches.kernel.org/5.2.9-140-iwlwifi-don-t-unmap-as-page-memory-that-was-map.patch42
-rw-r--r--series.conf1
2 files changed, 43 insertions, 0 deletions
diff --git a/patches.kernel.org/5.2.9-140-iwlwifi-don-t-unmap-as-page-memory-that-was-map.patch b/patches.kernel.org/5.2.9-140-iwlwifi-don-t-unmap-as-page-memory-that-was-map.patch
new file mode 100644
index 0000000000..b63ef504d3
--- /dev/null
+++ b/patches.kernel.org/5.2.9-140-iwlwifi-don-t-unmap-as-page-memory-that-was-map.patch
@@ -0,0 +1,42 @@
+From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Date: Sun, 21 Jul 2019 14:02:27 +0300
+Subject: [PATCH] iwlwifi: don't unmap as page memory that was mapped as single
+References: bnc#1012628
+Patch-mainline: 5.2.9
+Git-commit: 87e7e25aee6b59fef740856f4e86d4b60496c9e1
+
+commit 87e7e25aee6b59fef740856f4e86d4b60496c9e1 upstream.
+
+In order to remember how to unmap a memory (as single or
+as page), we maintain a bit per Transmit Buffer (TBs) in
+the meta data (structure iwl_cmd_meta).
+We maintain a bitmap: 1 bit per TB.
+If the TB is set, we will free the memory as a page.
+This bitmap was never cleared. Fix this.
+
+Cc: stable@vger.kernel.org
+Fixes: 3cd1980b0cdf ("iwlwifi: pcie: introduce new tfd and tb formats")
+Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+---
+ drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
+index fa4245d0d4a8..2f0ba7ef53b8 100644
+--- a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
++++ b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
+@@ -435,6 +435,8 @@ static void iwl_pcie_tfd_unmap(struct iwl_trans *trans,
+ DMA_TO_DEVICE);
+ }
+
++ meta->tbs = 0;
++
+ if (trans->cfg->use_tfh) {
+ struct iwl_tfh_tfd *tfd_fh = (void *)tfd;
+
+--
+2.22.0
+
diff --git a/series.conf b/series.conf
index 09139eba0c..09118dac05 100644
--- a/series.conf
+++ b/series.conf
@@ -1160,6 +1160,7 @@
patches.kernel.org/5.2.9-137-KVM-Fix-leak-vCPU-s-VMCS-value-into-other-pCPU.patch
patches.kernel.org/5.2.9-138-KVM-arm-arm64-Sync-ICH_VMCR_EL2-back-when-about.patch
patches.kernel.org/5.2.9-139-mwifiex-fix-802.11n-WPA-detection.patch
+ patches.kernel.org/5.2.9-140-iwlwifi-don-t-unmap-as-page-memory-that-was-map.patch
########################################################
# Build fixes that apply to the vanilla kernel too.