diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-07-15 12:35:23 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-07-15 12:35:23 +0000 |
commit | f74722f085af8d7e351a1bfd445930be438828f2 (patch) | |
tree | 5bce8252e1fbe542c6edbd3ee35f18c83e03538f /package | |
parent | 09b60a6e3a2ea252ffc14fd3a7e6b0eb6e2a76a7 (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
Diffstat (limited to 'package')
-rw-r--r-- | package/kernel/mac80211/patches/300-pending_work.patch | 19 |
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; |