History

Merge tag 'iwlwifi-fixes-2025-07-15' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next

Miri Korenblit says: ==================== iwlwifi-fixes - missing unlock in error path - Avoid FW assert on bad command values - fix kernel panic due to incorrect index calculation ====================

Johannes Berg committed 1 year ago

Commit bbc19fe2 parents 444020f 46345ed5 files · +15 −9Browse files

Unified · Split

5 files
  1. drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h +3 −2
  2. drivers/net/wireless/intel/iwlwifi/fw/regulatory.c +1 −0
  3. drivers/net/wireless/intel/iwlwifi/mld/regulatory.c +3 −1
  4. drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c +4 −2
  5. drivers/net/wireless/intel/iwlwifi/pcie/tx.c +4 −4
drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h+3−2
@@ -1,6 +1,6 @@
1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2/*2/*
3 * Copyright (C) 2012-2014, 2018-2024 Intel Corporation3 * Copyright (C) 2012-2014, 2018-2025 Intel Corporation
4 * Copyright (C) 2013-2015 Intel Mobile Communications GmbH4 * Copyright (C) 2013-2015 Intel Mobile Communications GmbH
5 * Copyright (C) 2016-2017 Intel Deutschland GmbH5 * Copyright (C) 2016-2017 Intel Deutschland GmbH
6 */6 */
@@ -754,7 +754,7 @@ struct iwl_lari_config_change_cmd_v10 { · 747 unmodified lines
754 * according to the BIOS definitions.754 * according to the BIOS definitions.
755 * For LARI cmd version 11 - bits 0:4 are supported.755 * For LARI cmd version 11 - bits 0:4 are supported.
756 * For LARI cmd version 12 - bits 0:6 are supported and bits 7:31 are756 * For LARI cmd version 12 - bits 0:6 are supported and bits 7:31 are
757 * reserved. No need to mask out the reserved bits.757 * reserved.
758 * @force_disable_channels_bitmap: Bitmap of disabled bands/channels.758 * @force_disable_channels_bitmap: Bitmap of disabled bands/channels.
759 * Each bit represents a set of channels in a specific band that should be759 * Each bit represents a set of channels in a specific band that should be
760 * disabled760 * disabled
@@ -787,6 +787,7 @@ struct iwl_lari_config_change_cmd { · 26 unmodified lines
787/* Activate UNII-1 (5.2GHz) for World Wide */787/* Activate UNII-1 (5.2GHz) for World Wide */
788#define ACTIVATE_5G2_IN_WW_MASK BIT(4)788#define ACTIVATE_5G2_IN_WW_MASK BIT(4)
789#define CHAN_STATE_ACTIVE_BITMAP_CMD_V11 0x1F789#define CHAN_STATE_ACTIVE_BITMAP_CMD_V11 0x1F
790#define CHAN_STATE_ACTIVE_BITMAP_CMD_V12 0x7F
790 791
791/**792/**
792 * struct iwl_pnvm_init_complete_ntfy - PNVM initialization complete793 * struct iwl_pnvm_init_complete_ntfy - PNVM initialization complete
drivers/net/wireless/intel/iwlwifi/fw/regulatory.c+1−0
@@ -614,6 +614,7 @@ int iwl_fill_lari_config(struct iwl_fw_runtime *fwrt, · 613 unmodified lines
614 614
615 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ACTIVATE_CHANNEL, &value);615 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ACTIVATE_CHANNEL, &value);
616 if (!ret) {616 if (!ret) {
617 value &= CHAN_STATE_ACTIVE_BITMAP_CMD_V12;
617 if (cmd_ver < 8)618 if (cmd_ver < 8)
618 value &= ~ACTIVATE_5G2_IN_WW_MASK;619 value &= ~ACTIVATE_5G2_IN_WW_MASK;
619 620
drivers/net/wireless/intel/iwlwifi/mld/regulatory.c+3−1
@@ -251,8 +251,10 @@ void iwl_mld_configure_lari(struct iwl_mld *mld) · 250 unmodified lines
251 cpu_to_le32(value &= DSM_UNII4_ALLOW_BITMAP);251 cpu_to_le32(value &= DSM_UNII4_ALLOW_BITMAP);
252 252
253 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ACTIVATE_CHANNEL, &value);253 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ACTIVATE_CHANNEL, &value);
254 if (!ret)254 if (!ret) {
255 value &= CHAN_STATE_ACTIVE_BITMAP_CMD_V12;
255 cmd.chan_state_active_bitmap = cpu_to_le32(value);256 cmd.chan_state_active_bitmap = cpu_to_le32(value);
257 }
256 258
257 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENABLE_6E, &value);259 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENABLE_6E, &value);
258 if (!ret)260 if (!ret)
drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c+4−2
@@ -546,8 +546,10 @@ again: · 545 unmodified lines
546 }546 }
547 547
548 if (WARN_ON(trans->do_top_reset &&548 if (WARN_ON(trans->do_top_reset &&
549 trans->mac_cfg->device_family < IWL_DEVICE_FAMILY_SC))549 trans->mac_cfg->device_family < IWL_DEVICE_FAMILY_SC)) {
550 return -EINVAL;550 ret = -EINVAL;
551 goto out;
552 }
551 553
552 /* we need to wait later - set state */554 /* we need to wait later - set state */
553 if (trans->do_top_reset)555 if (trans->do_top_reset)
drivers/net/wireless/intel/iwlwifi/pcie/tx.c+4−4
@@ -2101,10 +2101,10 @@ static void iwl_txq_gen1_update_byte_cnt_tbl(struct iwl_trans *trans, · 2100 unmodified lines
2101 2101
2102 bc_ent = cpu_to_le16(len | (sta_id << 12));2102 bc_ent = cpu_to_le16(len | (sta_id << 12));
2103 2103
2104 scd_bc_tbl[txq_id * BC_TABLE_SIZE + write_ptr].tfd_offset = bc_ent;2104 scd_bc_tbl[txq_id * TFD_QUEUE_BC_SIZE + write_ptr].tfd_offset = bc_ent;
2105 2105
2106 if (write_ptr < TFD_QUEUE_SIZE_BC_DUP)2106 if (write_ptr < TFD_QUEUE_SIZE_BC_DUP)
2107 scd_bc_tbl[txq_id * BC_TABLE_SIZE + TFD_QUEUE_SIZE_MAX + write_ptr].tfd_offset =2107 scd_bc_tbl[txq_id * TFD_QUEUE_BC_SIZE + TFD_QUEUE_SIZE_MAX + write_ptr].tfd_offset =
2108 bc_ent;2108 bc_ent;
2109}2109}
2110 2110
@@ -2328,10 +2328,10 @@ static void iwl_txq_gen1_inval_byte_cnt_tbl(struct iwl_trans *trans, · 217 unmodified lines
2328 2328
2329 bc_ent = cpu_to_le16(1 | (sta_id << 12));2329 bc_ent = cpu_to_le16(1 | (sta_id << 12));
2330 2330
2331 scd_bc_tbl[txq_id * BC_TABLE_SIZE + read_ptr].tfd_offset = bc_ent;2331 scd_bc_tbl[txq_id * TFD_QUEUE_BC_SIZE + read_ptr].tfd_offset = bc_ent;
2332 2332
2333 if (read_ptr < TFD_QUEUE_SIZE_BC_DUP)2333 if (read_ptr < TFD_QUEUE_SIZE_BC_DUP)
2334 scd_bc_tbl[txq_id * BC_TABLE_SIZE + TFD_QUEUE_SIZE_MAX + read_ptr].tfd_offset =2334 scd_bc_tbl[txq_id * TFD_QUEUE_BC_SIZE + TFD_QUEUE_SIZE_MAX + read_ptr].tfd_offset =
2335 bc_ent;2335 bc_ent;
2336}2336}
2337 2337

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t