.. | .. |
---|
| 1 | +// SPDX-License-Identifier: ISC |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (c) 2014-2017 Qualcomm Atheros, Inc. |
---|
3 | | - * |
---|
4 | | - * Permission to use, copy, modify, and/or distribute this software for any |
---|
5 | | - * purpose with or without fee is hereby granted, provided that the above |
---|
6 | | - * copyright notice and this permission notice appear in all copies. |
---|
7 | | - * |
---|
8 | | - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
---|
9 | | - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
---|
10 | | - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
---|
11 | | - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
---|
12 | | - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
---|
13 | | - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
---|
14 | | - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
---|
15 | 4 | */ |
---|
16 | 5 | |
---|
17 | 6 | #include "testmode.h" |
---|
.. | .. |
---|
76 | 65 | ret = nla_put_u32(nl_skb, ATH10K_TM_ATTR_CMD, ATH10K_TM_CMD_WMI); |
---|
77 | 66 | if (ret) { |
---|
78 | 67 | ath10k_warn(ar, |
---|
79 | | - "failed to to put testmode wmi event cmd attribute: %d\n", |
---|
| 68 | + "failed to put testmode wmi event cmd attribute: %d\n", |
---|
80 | 69 | ret); |
---|
81 | 70 | kfree_skb(nl_skb); |
---|
82 | 71 | goto out; |
---|
.. | .. |
---|
85 | 74 | ret = nla_put_u32(nl_skb, ATH10K_TM_ATTR_WMI_CMDID, cmd_id); |
---|
86 | 75 | if (ret) { |
---|
87 | 76 | ath10k_warn(ar, |
---|
88 | | - "failed to to put testmode wmi even cmd_id: %d\n", |
---|
| 77 | + "failed to put testmode wmi event cmd_id: %d\n", |
---|
89 | 78 | ret); |
---|
90 | 79 | kfree_skb(nl_skb); |
---|
91 | 80 | goto out; |
---|
.. | .. |
---|
185 | 174 | { |
---|
186 | 175 | struct ath10k_fw_components *utf_mode_fw; |
---|
187 | 176 | int ret; |
---|
| 177 | + char fw_name[100]; |
---|
| 178 | + int fw_api2 = 2; |
---|
188 | 179 | |
---|
189 | | - ret = ath10k_core_fetch_firmware_api_n(ar, ATH10K_FW_UTF_API2_FILE, |
---|
| 180 | + switch (ar->hif.bus) { |
---|
| 181 | + case ATH10K_BUS_SDIO: |
---|
| 182 | + case ATH10K_BUS_USB: |
---|
| 183 | + scnprintf(fw_name, sizeof(fw_name), "%s-%s-%d.bin", |
---|
| 184 | + ATH10K_FW_UTF_FILE_BASE, ath10k_bus_str(ar->hif.bus), |
---|
| 185 | + fw_api2); |
---|
| 186 | + break; |
---|
| 187 | + default: |
---|
| 188 | + scnprintf(fw_name, sizeof(fw_name), "%s-%d.bin", |
---|
| 189 | + ATH10K_FW_UTF_FILE_BASE, fw_api2); |
---|
| 190 | + break; |
---|
| 191 | + } |
---|
| 192 | + |
---|
| 193 | + ret = ath10k_core_fetch_firmware_api_n(ar, fw_name, |
---|
190 | 194 | &ar->testmode.utf_mode_fw.fw_file); |
---|
191 | 195 | if (ret == 0) { |
---|
192 | 196 | ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode using fw utf api 2"); |
---|
.. | .. |
---|
270 | 274 | ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode wmi version %d\n", |
---|
271 | 275 | ar->testmode.utf_mode_fw.fw_file.wmi_op_version); |
---|
272 | 276 | |
---|
273 | | - ret = ath10k_hif_power_up(ar); |
---|
| 277 | + ret = ath10k_hif_power_up(ar, ATH10K_FIRMWARE_MODE_UTF); |
---|
274 | 278 | if (ret) { |
---|
275 | 279 | ath10k_err(ar, "failed to power up hif (testmode): %d\n", ret); |
---|
276 | 280 | ar->state = ATH10K_STATE_OFF; |
---|
.. | .. |
---|
427 | 431 | struct nlattr *tb[ATH10K_TM_ATTR_MAX + 1]; |
---|
428 | 432 | int ret; |
---|
429 | 433 | |
---|
430 | | - ret = nla_parse(tb, ATH10K_TM_ATTR_MAX, data, len, ath10k_tm_policy, |
---|
431 | | - NULL); |
---|
| 434 | + ret = nla_parse_deprecated(tb, ATH10K_TM_ATTR_MAX, data, len, |
---|
| 435 | + ath10k_tm_policy, NULL); |
---|
432 | 436 | if (ret) |
---|
433 | 437 | return ret; |
---|
434 | 438 | |
---|