summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMichal Nazarewicz2013-11-29 18:06:46 +0100
committerJohn W. Linville2013-12-02 19:11:51 +0100
commitbeae416b1f40ef3b6f7918035cefcf1d5f9aeb49 (patch)
tree375bc551eb885bfcf90309b9eef6b961f1595c03 /drivers/net
parentath9k: Fix XLNA bias strength (diff)
downloadkernel-qcow2-linux-beae416b1f40ef3b6f7918035cefcf1d5f9aeb49.tar.gz
kernel-qcow2-linux-beae416b1f40ef3b6f7918035cefcf1d5f9aeb49.tar.xz
kernel-qcow2-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>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c7
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))