Skip to content

Commit 0356e50

Browse files
committed
wifi: iwlwifi: mld: remove support for iwl_mcc_update_resp versions
iwlmld was planned to be used for HR/GF, which has versions 5/6, but it was decided at the end to use iwlmvm for HR/GF, so iwlmld only needs to support version 8. Remove versions 5 and 6 support. Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250711183056.9c64bfbb16cb.I109bee4d4bf455cbffbb8d2340023338bcab886d@changeid
1 parent 7cc5f89 commit 0356e50

File tree

1 file changed

+2
-50
lines changed
  • drivers/net/wireless/intel/iwlwifi/mld

1 file changed

+2
-50
lines changed

drivers/net/wireless/intel/iwlwifi/mld/mcc.c

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
/* It is the caller's responsibility to free the pointer returned here */
1717
static struct iwl_mcc_update_resp_v8 *
18-
iwl_mld_parse_mcc_update_resp_v8(const struct iwl_rx_packet *pkt)
18+
iwl_mld_copy_mcc_resp(const struct iwl_rx_packet *pkt)
1919
{
2020
const struct iwl_mcc_update_resp_v8 *mcc_resp_v8 = (const void *)pkt->data;
2121
int n_channels = __le32_to_cpu(mcc_resp_v8->n_channels);
@@ -32,43 +32,11 @@ iwl_mld_parse_mcc_update_resp_v8(const struct iwl_rx_packet *pkt)
3232
return resp_cp;
3333
}
3434

35-
/* It is the caller's responsibility to free the pointer returned here */
36-
static struct iwl_mcc_update_resp_v8 *
37-
iwl_mld_parse_mcc_update_resp_v5_v6(const struct iwl_rx_packet *pkt)
38-
{
39-
const struct iwl_mcc_update_resp_v4 *mcc_resp_v4 = (const void *)pkt->data;
40-
struct iwl_mcc_update_resp_v8 *resp_cp;
41-
int n_channels = __le32_to_cpu(mcc_resp_v4->n_channels);
42-
int resp_len;
43-
44-
if (iwl_rx_packet_payload_len(pkt) !=
45-
struct_size(mcc_resp_v4, channels, n_channels))
46-
return ERR_PTR(-EINVAL);
47-
48-
resp_len = struct_size(resp_cp, channels, n_channels);
49-
resp_cp = kzalloc(resp_len, GFP_KERNEL);
50-
if (!resp_cp)
51-
return ERR_PTR(-ENOMEM);
52-
53-
resp_cp->status = mcc_resp_v4->status;
54-
resp_cp->mcc = mcc_resp_v4->mcc;
55-
resp_cp->cap = cpu_to_le32(le16_to_cpu(mcc_resp_v4->cap));
56-
resp_cp->source_id = mcc_resp_v4->source_id;
57-
resp_cp->geo_info = mcc_resp_v4->geo_info;
58-
resp_cp->n_channels = mcc_resp_v4->n_channels;
59-
memcpy(resp_cp->channels, mcc_resp_v4->channels,
60-
n_channels * sizeof(__le32));
61-
62-
return resp_cp;
63-
}
64-
6535
/* It is the caller's responsibility to free the pointer returned here */
6636
static struct iwl_mcc_update_resp_v8 *
6737
iwl_mld_update_mcc(struct iwl_mld *mld, const char *alpha2,
6838
enum iwl_mcc_source src_id)
6939
{
70-
int resp_ver = iwl_fw_lookup_notif_ver(mld->fw, LONG_GROUP,
71-
MCC_UPDATE_CMD, 0);
7240
struct iwl_mcc_update_cmd mcc_update_cmd = {
7341
.mcc = cpu_to_le16(alpha2[0] << 8 | alpha2[1]),
7442
.source_id = (u8)src_id,
@@ -93,23 +61,7 @@ iwl_mld_update_mcc(struct iwl_mld *mld, const char *alpha2,
9361

9462
pkt = cmd.resp_pkt;
9563

96-
/* For Wifi-7 radios, we get version 8
97-
* For Wifi-6E radios, we get version 6
98-
* For Wifi-6 radios, we get version 5, but 5, 6, and 4 are compatible.
99-
*/
100-
switch (resp_ver) {
101-
case 5:
102-
case 6:
103-
resp_cp = iwl_mld_parse_mcc_update_resp_v5_v6(pkt);
104-
break;
105-
case 8:
106-
resp_cp = iwl_mld_parse_mcc_update_resp_v8(pkt);
107-
break;
108-
default:
109-
IWL_FW_CHECK_FAILED(mld, "Unknown MCC_UPDATE_CMD version %d\n", resp_ver);
110-
resp_cp = ERR_PTR(-EINVAL);
111-
}
112-
64+
resp_cp = iwl_mld_copy_mcc_resp(pkt);
11365
if (IS_ERR(resp_cp))
11466
goto exit;
11567

0 commit comments

Comments
 (0)