58 lines
2.0 KiB
Diff
58 lines
2.0 KiB
Diff
|
From 1c3d95edf026c6fb446f53913c61ff1036c469cd Mon Sep 17 00:00:00 2001
|
||
|
From: Frederic Danis <frederic.danis@linux.intel.com>
|
||
|
Date: Mon, 2 Jun 2014 21:19:46 +0300
|
||
|
Subject: [PATCH 1/8] ath6kl: Fix ath6kl_bmi_read_hi32 macro
|
||
|
|
||
|
tmp may be used uninitialized if ath6kl_bmi_read() returns an error.
|
||
|
|
||
|
Signed-off-by: Frederic Danis <frederic.danis@linux.intel.com>
|
||
|
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
||
|
---
|
||
|
drivers/net/wireless/ath/ath6kl/bmi.h | 3 ++-
|
||
|
drivers/net/wireless/ath/ath6kl/init.c | 12 ++++++++++--
|
||
|
2 files changed, 12 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/net/wireless/ath/ath6kl/bmi.h b/drivers/net/wireless/ath/ath6kl/bmi.h
|
||
|
index 18fdd69..397a52f 100644
|
||
|
--- a/drivers/net/wireless/ath/ath6kl/bmi.h
|
||
|
+++ b/drivers/net/wireless/ath/ath6kl/bmi.h
|
||
|
@@ -242,7 +242,8 @@ struct ath6kl_bmi_target_info {
|
||
|
(void) (check_type == val); \
|
||
|
addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \
|
||
|
ret = ath6kl_bmi_read(ar, addr, (u8 *) &tmp, 4); \
|
||
|
- *val = le32_to_cpu(tmp); \
|
||
|
+ if (!ret) \
|
||
|
+ *val = le32_to_cpu(tmp); \
|
||
|
ret; \
|
||
|
})
|
||
|
|
||
|
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
|
||
|
index d5ef211..6e1e699 100644
|
||
|
--- a/drivers/net/wireless/ath/ath6kl/init.c
|
||
|
+++ b/drivers/net/wireless/ath/ath6kl/init.c
|
||
|
@@ -1161,11 +1161,19 @@ static int ath6kl_upload_board_file(struct ath6kl *ar)
|
||
|
ath6kl_bmi_write_hi32(ar, hi_board_data,
|
||
|
board_address);
|
||
|
} else {
|
||
|
- ath6kl_bmi_read_hi32(ar, hi_board_data, &board_address);
|
||
|
+ ret = ath6kl_bmi_read_hi32(ar, hi_board_data, &board_address);
|
||
|
+ if (ret) {
|
||
|
+ ath6kl_err("Failed to get board file target address.\n");
|
||
|
+ return ret;
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
/* determine where in target ram to write extended board data */
|
||
|
- ath6kl_bmi_read_hi32(ar, hi_board_ext_data, &board_ext_address);
|
||
|
+ ret = ath6kl_bmi_read_hi32(ar, hi_board_ext_data, &board_ext_address);
|
||
|
+ if (ret) {
|
||
|
+ ath6kl_err("Failed to get extended board file target address.\n");
|
||
|
+ return ret;
|
||
|
+ }
|
||
|
|
||
|
if (ar->target_type == TARGET_TYPE_AR6003 &&
|
||
|
board_ext_address == 0) {
|
||
|
--
|
||
|
2.1.0
|
||
|
|