diff options
author | Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | 2012-09-27 08:49:53 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2012-10-24 04:49:57 -0400 |
commit | a2e1be33a2a762a30e2960c11634a672cdf131cb (patch) | |
tree | a99d03c5e3587efdf7dbc9a08a50786de300d737 | |
parent | 171fe76877d3d8071a901e64eb63eeee6c7760a2 (diff) |
ath6kl: Add a hardware flag for SDIO CRC error workaround
Make use of SDIO CRC error workaround hardware flag and avoid
target revision checks.
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/core.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/init.c | 7 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/core.h b/drivers/net/wireless/ath/ath6kl/core.h index 1778bd3c732..189d8faf8c8 100644 --- a/drivers/net/wireless/ath/ath6kl/core.h +++ b/drivers/net/wireless/ath/ath6kl/core.h | |||
@@ -152,6 +152,7 @@ enum ath6kl_hw_flags { | |||
152 | ATH6KL_HW_64BIT_RATES = BIT(0), | 152 | ATH6KL_HW_64BIT_RATES = BIT(0), |
153 | ATH6KL_HW_AP_INACTIVITY_MINS = BIT(1), | 153 | ATH6KL_HW_AP_INACTIVITY_MINS = BIT(1), |
154 | ATH6KL_HW_MAP_LP_ENDPOINT = BIT(2), | 154 | ATH6KL_HW_MAP_LP_ENDPOINT = BIT(2), |
155 | ATH6KL_HW_SDIO_CRC_ERROR_WAR = BIT(3), | ||
155 | }; | 156 | }; |
156 | 157 | ||
157 | #define ATH6KL_FW_API2_FILE "fw-2.bin" | 158 | #define ATH6KL_FW_API2_FILE "fw-2.bin" |
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c index bb6aeea1c87..f21fa322e5c 100644 --- a/drivers/net/wireless/ath/ath6kl/init.c +++ b/drivers/net/wireless/ath/ath6kl/init.c | |||
@@ -42,7 +42,7 @@ static const struct ath6kl_hw hw_list[] = { | |||
42 | .reserved_ram_size = 6912, | 42 | .reserved_ram_size = 6912, |
43 | .refclk_hz = 26000000, | 43 | .refclk_hz = 26000000, |
44 | .uarttx_pin = 8, | 44 | .uarttx_pin = 8, |
45 | .flags = 0, | 45 | .flags = ATH6KL_HW_SDIO_CRC_ERROR_WAR, |
46 | 46 | ||
47 | /* hw2.0 needs override address hardcoded */ | 47 | /* hw2.0 needs override address hardcoded */ |
48 | .app_start_override_addr = 0x944C00, | 48 | .app_start_override_addr = 0x944C00, |
@@ -68,7 +68,7 @@ static const struct ath6kl_hw hw_list[] = { | |||
68 | .refclk_hz = 26000000, | 68 | .refclk_hz = 26000000, |
69 | .uarttx_pin = 8, | 69 | .uarttx_pin = 8, |
70 | .testscript_addr = 0x57ef74, | 70 | .testscript_addr = 0x57ef74, |
71 | .flags = 0, | 71 | .flags = ATH6KL_HW_SDIO_CRC_ERROR_WAR, |
72 | 72 | ||
73 | .fw = { | 73 | .fw = { |
74 | .dir = AR6003_HW_2_1_1_FW_DIR, | 74 | .dir = AR6003_HW_2_1_1_FW_DIR, |
@@ -1431,8 +1431,7 @@ static int ath6kl_init_upload(struct ath6kl *ar) | |||
1431 | return status; | 1431 | return status; |
1432 | 1432 | ||
1433 | /* WAR to avoid SDIO CRC err */ | 1433 | /* WAR to avoid SDIO CRC err */ |
1434 | if (ar->version.target_ver == AR6003_HW_2_0_VERSION || | 1434 | if (ar->hw.flags & ATH6KL_HW_SDIO_CRC_ERROR_WAR) { |
1435 | ar->version.target_ver == AR6003_HW_2_1_1_VERSION) { | ||
1436 | ath6kl_err("temporary war to avoid sdio crc error\n"); | 1435 | ath6kl_err("temporary war to avoid sdio crc error\n"); |
1437 | 1436 | ||
1438 | param = 0x28; | 1437 | param = 0x28; |