linux/net/mac80211
Juuso Oikarinen 5affcd6ba2 mac80211: fix handling of null-rate control in rate_control_get_rate
For hardware with IEEE80211_HW_HAS_RATE_CONTROL the rate controller is not
initialized. However, calling functions such as ieee80211_beacon_get result
in the rate_control_get_rate function getting called, which is accessing
(in this case uninitialized) rate control structures unconditionally.

Fix by exiting the function before setting the rates for HW with
IEEE80211_HW_HAS_RATE_CONTROL set. The initialization of the ieee80211_tx_info
struct is intentionally still executed.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Kalle Valo <kalle.valo@nokia.com>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-12 14:50:22 -05:00
..
aes_ccm.c mac80211: aes_ccm.c remove crypto wrapper and extra args 2008-07-08 14:16:02 -04:00
aes_ccm.h mac80211: pass scratch buffer directly, remove additional pointers 2008-07-08 14:16:02 -04:00
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-12-01 22:13:38 -08:00
agg-tx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-12-01 22:13:38 -08:00
cfg.c mac80211: check that ieee80211_set_power_mgmt only handles STA interfaces. 2010-01-15 16:20:22 -05:00
cfg.h
debugfs_key.c cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c mac80211: add nl80211/cfg80211 handling of the new mesh root mode option. 2009-11-13 17:43:57 -05:00
debugfs_netdev.h mac80211: revamp virtual interface handling 2008-07-14 14:30:07 -04:00
debugfs_sta.c mac80211: add per-station HT capability file 2009-11-19 11:09:08 -05:00
debugfs_sta.h
debugfs.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
driver-ops.h mac80211: convert aggregation to operate on vifs/stas 2009-11-18 17:09:15 -05:00
driver-trace.c mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h mac80211: fix NULL pointer dereference when ftrace is enabled 2010-01-26 11:52:13 -05:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
ht.c mac80211: fix peer HT capabilities 2009-12-21 11:32:27 -05:00
ibss.c mac80211: Fix probe request filtering in IBSS mode 2010-02-08 16:07:22 -05:00
ieee80211_i.h mac80211: Fix dynamic power save for scanning. 2009-12-07 16:51:18 -05:00
iface.c mac80211: fix queue selection for data frames on monitor interfaces 2010-01-11 19:37:09 -05:00
Kconfig mac80211: add MAC80211_VERBOSE_MHWMP_DEBUG 2009-11-11 15:23:58 -05:00
key.c mac80211: fix todo lock 2009-07-10 15:01:48 -04:00
key.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
led.c
led.h
main.c mac80211: Add define for TX headroom reserved by mac80211 itself. 2009-12-14 14:22:31 -05:00
Makefile mac80211: move TX status handling 2009-11-18 17:09:27 -05:00
mesh_hwmp.c mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
mesh_pathtbl.c mac80211: fix endianess on mesh_path_error_tx() calls 2009-11-19 11:38:24 -05:00
mesh_plink.c mac80211: remove encrypt parameter from ieee80211_tx_skb 2009-11-18 17:09:27 -05:00
mesh.c net/mac80211: Correct size given to memset 2009-12-10 16:09:52 -05:00
mesh.h mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
mlme.c mac80211: add missing sanity checks for action frames 2010-01-08 15:49:28 -05:00
pm.c mac80211: fix configure_filter invocation after stop 2009-08-28 14:40:25 -04:00
rate.c mac80211: fix handling of null-rate control in rate_control_get_rate 2010-02-12 14:50:22 -05:00
rate.h mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
rc80211_minstrel_debugfs.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
rc80211_minstrel.c rc80211_minstrel: fix contention window calculation 2009-09-23 11:35:42 -04:00
rc80211_minstrel.h mac80211: Remove unnused throughput field from minstrel_rate. 2009-08-28 14:40:34 -04:00
rc80211_pid_algo.c mac80211: fix sign error in pid controller 2010-01-18 15:07:02 -05:00
rc80211_pid_debugfs.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rx.c mac80211: add missing sanity checks for action frames 2010-01-08 15:49:28 -05:00
scan.c mac80211: fix deferred hardware scan requests 2010-02-08 16:07:23 -05:00
spectmgmt.c mac80211: remove encrypt parameter from ieee80211_tx_skb 2009-11-18 17:09:27 -05:00
sta_info.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
sta_info.h mac80211: Fix missing kernel-doc notation 2009-11-23 17:05:40 -05:00
status.c mac80211: Fix TX status reporting for injected data frames 2009-12-04 14:16:23 -05:00
tkip.c mac80211: use fixed broadcast address 2009-11-18 17:09:18 -05:00
tkip.h mac80211: tkip.c consolidate tkip IV writing in helper 2008-06-14 12:18:13 -04:00
tx.c mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
util.c mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
wep.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wep.h cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
wme.c mac80211: fix-up build breakage in 2.6.33 2010-01-06 15:35:49 -05:00
wme.h mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
wpa.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00