aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>2011-07-17 02:08:49 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-07-18 14:29:46 -0400
commit02c5172c314308eb85f80899cc3aef41bc31bbad (patch)
tree3a9e4d865fc932cf665f358eb5fdd1146802e8ea
parentf9ab38ba95c718ba07b385720803ed29ff40d1e3 (diff)
ath9k: Fix some smatch warnings
drivers/net/wireless/ath/ath9k/hif_usb.c +135 hif_usb_mgmt_cb(6) warn: variable dereferenced before check 'cmd' drivers/net/wireless/ath/ath9k/btcoex.c +77 ath9k_hw_init_btcoex_hw(38) error: buffer overflow 'ah->hw_gen_timers.gen_timer_index' 32 <= 2009813776 Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/btcoex.c8
-rw-r--r--drivers/net/wireless/ath/ath9k/hif_usb.c4
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/btcoex.c b/drivers/net/wireless/ath/ath9k/btcoex.c
index 41ce0b13988..6635c377dc0 100644
--- a/drivers/net/wireless/ath/ath9k/btcoex.c
+++ b/drivers/net/wireless/ath/ath9k/btcoex.c
@@ -50,7 +50,7 @@ void ath9k_hw_init_btcoex_hw(struct ath_hw *ah, int qnum)
50 .bt_first_slot_time = 5, 50 .bt_first_slot_time = 5,
51 .bt_hold_rx_clear = true, 51 .bt_hold_rx_clear = true,
52 }; 52 };
53 u32 i; 53 u32 i, idx;
54 bool rxclear_polarity = ath_bt_config.bt_rxclear_polarity; 54 bool rxclear_polarity = ath_bt_config.bt_rxclear_polarity;
55 55
56 if (AR_SREV_9300_20_OR_LATER(ah)) 56 if (AR_SREV_9300_20_OR_LATER(ah))
@@ -73,8 +73,10 @@ void ath9k_hw_init_btcoex_hw(struct ath_hw *ah, int qnum)
73 SM(ATH_BTCOEX_BMISS_THRESH, AR_BT_BCN_MISS_THRESH) | 73 SM(ATH_BTCOEX_BMISS_THRESH, AR_BT_BCN_MISS_THRESH) |
74 AR_BT_DISABLE_BT_ANT; 74 AR_BT_DISABLE_BT_ANT;
75 75
76 for (i = 0; i < 32; i++) 76 for (i = 0; i < 32; i++) {
77 ah->hw_gen_timers.gen_timer_index[(debruijn32 << i) >> 27] = i; 77 idx = (debruijn32 << i) >> 27;
78 ah->hw_gen_timers.gen_timer_index[idx] = i;
79 }
78} 80}
79EXPORT_SYMBOL(ath9k_hw_init_btcoex_hw); 81EXPORT_SYMBOL(ath9k_hw_init_btcoex_hw);
80 82
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
index 1d11ae101d6..d3f4a59cd45 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -130,12 +130,14 @@ static int hif_usb_send_regout(struct hif_device_usb *hif_dev,
130static void hif_usb_mgmt_cb(struct urb *urb) 130static void hif_usb_mgmt_cb(struct urb *urb)
131{ 131{
132 struct cmd_buf *cmd = (struct cmd_buf *)urb->context; 132 struct cmd_buf *cmd = (struct cmd_buf *)urb->context;
133 struct hif_device_usb *hif_dev = cmd->hif_dev; 133 struct hif_device_usb *hif_dev;
134 bool txok = true; 134 bool txok = true;
135 135
136 if (!cmd || !cmd->skb || !cmd->hif_dev) 136 if (!cmd || !cmd->skb || !cmd->hif_dev)
137 return; 137 return;
138 138
139 hif_dev = cmd->hif_dev;
140
139 switch (urb->status) { 141 switch (urb->status) {
140 case 0: 142 case 0:
141 break; 143 break;