Skip to content

Commit 5fde0fc

Browse files
panjaneyMiriam-Rachel
authored andcommitted
wifi: iwlwifi: mask reserved bits in chan_state_active_bitmap
Mask the reserved bits as firmware will assert if reserved bits are set. Fixes: ef7ddf4 ("wifi: iwlwifi: Add support for LARI_CONFIG_CHANGE_CMD v12") Signed-off-by: Pagadala Yesu Anjaneyulu <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250709065608.7a72c70bdc9d.Ic9be0a3fc3aabde0c4b88568f3bb7b76e375f8d4@changeid
1 parent e5d110f commit 5fde0fc

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
22
/*
3-
* Copyright (C) 2012-2014, 2018-2024 Intel Corporation
3+
* Copyright (C) 2012-2014, 2018-2025 Intel Corporation
44
* Copyright (C) 2013-2015 Intel Mobile Communications GmbH
55
* Copyright (C) 2016-2017 Intel Deutschland GmbH
66
*/
@@ -754,7 +754,7 @@ struct iwl_lari_config_change_cmd_v10 {
754754
* according to the BIOS definitions.
755755
* For LARI cmd version 11 - bits 0:4 are supported.
756756
* 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.
758758
* @force_disable_channels_bitmap: Bitmap of disabled bands/channels.
759759
* Each bit represents a set of channels in a specific band that should be
760760
* disabled
@@ -787,6 +787,7 @@ struct iwl_lari_config_change_cmd {
787787
/* Activate UNII-1 (5.2GHz) for World Wide */
788788
#define ACTIVATE_5G2_IN_WW_MASK BIT(4)
789789
#define CHAN_STATE_ACTIVE_BITMAP_CMD_V11 0x1F
790+
#define CHAN_STATE_ACTIVE_BITMAP_CMD_V12 0x7F
790791

791792
/**
792793
* struct iwl_pnvm_init_complete_ntfy - PNVM initialization complete

drivers/net/wireless/intel/iwlwifi/fw/regulatory.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,7 @@ int iwl_fill_lari_config(struct iwl_fw_runtime *fwrt,
614614

615615
ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ACTIVATE_CHANNEL, &value);
616616
if (!ret) {
617+
value &= CHAN_STATE_ACTIVE_BITMAP_CMD_V12;
617618
if (cmd_ver < 8)
618619
value &= ~ACTIVATE_5G2_IN_WW_MASK;
619620

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,10 @@ void iwl_mld_configure_lari(struct iwl_mld *mld)
251251
cpu_to_le32(value &= DSM_UNII4_ALLOW_BITMAP);
252252

253253
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;
255256
cmd.chan_state_active_bitmap = cpu_to_le32(value);
257+
}
256258

257259
ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENABLE_6E, &value);
258260
if (!ret)

0 commit comments

Comments
 (0)