]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
mac80211: minstrel, fix memory corruption
authorJiri Slaby <jirislaby@gmail.com>
Mon, 4 May 2009 16:04:55 +0000 (18:04 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 4 May 2009 20:22:15 +0000 (16:22 -0400)
minstrel doesn't count max rate count in fact, since it doesn't use
a loop variable `i' and hence allocs space only for bitrates found in
the first band.

Fix it by involving the `i' as an index so that it traverses all the
bands now and finds the real max bitrate count.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/rc80211_minstrel.c

index 3824990d340bdb75f5357088740438d8658e6f75..70df3dcc3cf6444ff56d20b6b851cd6cc70b1c7d 100644 (file)
@@ -476,7 +476,7 @@ minstrel_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp)
                return NULL;
 
        for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
-               sband = hw->wiphy->bands[hw->conf.channel->band];
+               sband = hw->wiphy->bands[i];
                if (sband->n_bitrates > max_rates)
                        max_rates = sband->n_bitrates;
        }