aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-07-15 12:35:23 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-07-15 12:35:23 +0000
commitfbd0ec7990db2506225e49b51754c15dc861e816 (patch)
tree5bce8252e1fbe542c6edbd3ee35f18c83e03538f
parentf23bda06727c8c4e002b893ea37f36ccfffdf5f5 (diff)
downloadupstream-fbd0ec7990db2506225e49b51754c15dc861e816.tar.gz
upstream-fbd0ec7990db2506225e49b51754c15dc861e816.tar.bz2
upstream-fbd0ec7990db2506225e49b51754c15dc861e816.zip
mac80211: fix a crash in legacy minstrel when no STA exists
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37342 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/kernel/mac80211/patches/300-pending_work.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch
index b35f5c6036..c5a61bb7d5 100644
--- a/package/kernel/mac80211/patches/300-pending_work.patch
+++ b/package/kernel/mac80211/patches/300-pending_work.patch
@@ -779,3 +779,22 @@
}
static int cfg80211_sme_connect(struct wireless_dev *wdev,
+--- a/net/mac80211/rc80211_minstrel.c
++++ b/net/mac80211/rc80211_minstrel.c
+@@ -290,7 +290,7 @@ minstrel_get_rate(void *priv, struct iee
+ struct minstrel_rate *msr, *mr;
+ unsigned int ndx;
+ bool mrr_capable;
+- bool prev_sample = mi->prev_sample;
++ bool prev_sample;
+ int delta;
+ int sampling_ratio;
+
+@@ -314,6 +314,7 @@ minstrel_get_rate(void *priv, struct iee
+ (mi->sample_count + mi->sample_deferred / 2);
+
+ /* delta < 0: no sampling required */
++ prev_sample = mi->prev_sample;
+ mi->prev_sample = false;
+ if (delta < 0 || (!mrr_capable && prev_sample))
+ return;