diff options
author | Michal Nazarewicz <mina86@mina86.com> | 2013-11-29 18:06:46 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-12-02 13:11:51 -0500 |
commit | beae416b1f40ef3b6f7918035cefcf1d5f9aeb49 (patch) | |
tree | 375bc551eb885bfcf90309b9eef6b961f1595c03 | |
parent | a1783a7b0846fc6414483e6caf646db72023fffd (diff) | |
download | blackbird-op-linux-beae416b1f40ef3b6f7918035cefcf1d5f9aeb49.tar.gz blackbird-op-linux-beae416b1f40ef3b6f7918035cefcf1d5f9aeb49.zip |
net: wireless: ath9k: avoid possible NULL pointer dereference
Code in ath9k_hw_set_clockrate function indicates that ah->curchan
(and thus chan local variable) may be NULL. If that is indeed the
case, IS_CHAN_HT40(chan) check has to be performed only in branch
where chan is not NULL. Moving the code under already existing
if condition fixes this issue.
Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 54b04155e43b..8918035da3a3 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -146,10 +146,9 @@ static void ath9k_hw_set_clockrate(struct ath_hw *ah) else clockrate = ATH9K_CLOCK_RATE_5GHZ_OFDM; - if (IS_CHAN_HT40(chan)) - clockrate *= 2; - - if (ah->curchan) { + if (chan) { + if (IS_CHAN_HT40(chan)) + clockrate *= 2; if (IS_CHAN_HALF_RATE(chan)) clockrate /= 2; if (IS_CHAN_QUARTER_RATE(chan)) |