summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-07-15 12:35:23 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-07-15 12:35:23 +0000
commitf74722f085af8d7e351a1bfd445930be438828f2 (patch)
tree5bce8252e1fbe542c6edbd3ee35f18c83e03538f
parent09b60a6e3a2ea252ffc14fd3a7e6b0eb6e2a76a7 (diff)
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;