]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Oct 2017 08:55:16 +0000 (10:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Oct 2017 08:55:16 +0000 (10:55 +0200)
added patches:

queue-3.18/mac80211-flush-hw_roc_start-work-before-cancelling-the-roc.patch [new file with mode: 0644]
queue-3.18/series
queue-4.13/series
queue-4.4/series
queue-4.9/series

diff --git a/queue-3.18/mac80211-flush-hw_roc_start-work-before-cancelling-the-roc.patch b/queue-3.18/mac80211-flush-hw_roc_start-work-before-cancelling-the-roc.patch
new file mode 100644 (file)
index 0000000..a514d20
--- /dev/null
@@ -0,0 +1,45 @@
+From 6e46d8ce894374fc135c96a8d1057c6af1fef237 Mon Sep 17 00:00:00 2001
+From: Avraham Stern <avraham.stern@intel.com>
+Date: Fri, 18 Aug 2017 15:33:57 +0300
+Subject: mac80211: flush hw_roc_start work before cancelling the ROC
+
+From: Avraham Stern <avraham.stern@intel.com>
+
+commit 6e46d8ce894374fc135c96a8d1057c6af1fef237 upstream.
+
+When HW ROC is supported it is possible that after the HW notified
+that the ROC has started, the ROC was cancelled and another ROC was
+added while the hw_roc_start worker is waiting on the mutex (since
+cancelling the ROC and adding another one also holds the same mutex).
+As a result, the hw_roc_start worker will continue to run after the
+new ROC is added but before it is actually started by the HW.
+This may result in notifying userspace that the ROC has started before
+it actually does, or in case of management tx ROC, in an attempt to
+tx while not on the right channel.
+
+In addition, when the driver will notify mac80211 that the second ROC
+has started, mac80211 will warn that this ROC has already been
+notified.
+
+Fix this by flushing the hw_roc_start work before cancelling an ROC.
+
+Signed-off-by: Avraham Stern <avraham.stern@intel.com>
+Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/mac80211/offchannel.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/net/mac80211/offchannel.c
++++ b/net/mac80211/offchannel.c
+@@ -469,6 +469,8 @@ void ieee80211_roc_purge(struct ieee8021
+       struct ieee80211_roc_work *roc, *tmp;
+       LIST_HEAD(tmp_list);
++      flush_work(&local->hw_roc_start);
++
+       mutex_lock(&local->mtx);
+       list_for_each_entry_safe(roc, tmp, &local->roc_list, list) {
+               if (sdata && roc->sdata != sdata)
index 718257a2567629d48070af20bae55211c27546ae..c57d1aa667da12ba976b46065d841d094b83b995 100644 (file)
@@ -1,2 +1,3 @@
 cifs-release-cifs-root_cred-after-exit_cifs.patch
 cifs-release-auth_key.response-for-reconnect.patch
+mac80211-flush-hw_roc_start-work-before-cancelling-the-roc.patch
index ae6a188f98e082e6ba25be8a9b2bcbbae6014f57..3eeb38b7328de3f092995c126be855eb63573566 100644 (file)
@@ -10,3 +10,10 @@ mmc-block-fix-incorrectly-initialized-requests.patch
 fs-proc-report-eip-esp-in-prod-pid-stat-for-coredumping.patch
 scsi-scsi_transport_fc-fix-null-pointer-dereference-in-fc_bsg_job_timeout.patch
 smb3-add-support-for-multidialect-negotiate-smb2.1-and-later.patch
+mac80211-fix-vlan-handling-with-txqs.patch
+mac80211_hwsim-use-proper-tx-power.patch
+mac80211-flush-hw_roc_start-work-before-cancelling-the-roc.patch
+mac80211-fix-deadlock-in-driver-managed-rx-ba-session-start.patch
+genirq-make-sparse_irq_lock-protect-what-it-should-protect.patch
+genirq-msi-fix-populating-multiple-interrupts.patch
+genirq-fix-cpumask-check-in-__irq_startup_managed.patch
index 1d748c2b5be8abd06dca0aa8c85dcf7364a1db6e..b65120ccc7ebaaf54cbde2877676302254e560c9 100644 (file)
@@ -1 +1,2 @@
 cifs-release-auth_key.response-for-reconnect.patch
+mac80211-flush-hw_roc_start-work-before-cancelling-the-roc.patch
index 6772ac3f13add806a7b63d756fe92ddbfe7f1c3b..58783fa99043d099c3c9c49f864df922407c5cd5 100644 (file)
@@ -1,3 +1,7 @@
 cifs-release-cifs-root_cred-after-exit_cifs.patch
 cifs-release-auth_key.response-for-reconnect.patch
 fs-proc-report-eip-esp-in-prod-pid-stat-for-coredumping.patch
+mac80211-fix-vlan-handling-with-txqs.patch
+mac80211_hwsim-use-proper-tx-power.patch
+mac80211-flush-hw_roc_start-work-before-cancelling-the-roc.patch
+genirq-make-sparse_irq_lock-protect-what-it-should-protect.patch