Skip to content

Commit 64dc5d5

Browse files
Miriam-Racheljmberg-intel
authored andcommitted
Revert "wifi: iwlwifi: make no_160 more generic"
This reverts commit 75a3313. The indication of the BW limitation in the sub-device ID is not applicable for Killer devices. For those devices, bw_limit will hold a random value, so a matching dev_info might not be found, which leads to a probe failure. Until it is properly fixed, revert this. Reported-by: Todd Brandt <[email protected]> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220029 Fixes: 75a3313 ("wifi: iwlwifi: make no_160 more generic") Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250420115541.36dd3007151e.I66b6b78db09bfea12ae84dd85603cf1583271474@changeid Signed-off-by: Johannes Berg <[email protected]>
1 parent 72bb272 commit 64dc5d5

File tree

5 files changed

+118
-129
lines changed

5 files changed

+118
-129
lines changed

drivers/net/wireless/intel/iwlwifi/iwl-config.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/*
33
* Copyright (C) 2005-2014, 2018-2021 Intel Corporation
44
* Copyright (C) 2016-2017 Intel Deutschland GmbH
5-
* Copyright (C) 2018-2025 Intel Corporation
5+
* Copyright (C) 2018-2024 Intel Corporation
66
*/
77
#ifndef __IWL_CONFIG_H__
88
#define __IWL_CONFIG_H__
@@ -451,8 +451,11 @@ struct iwl_cfg {
451451
#define IWL_CFG_RF_ID_HR 0x7
452452
#define IWL_CFG_RF_ID_HR1 0x4
453453

454-
#define IWL_CFG_BW_NO_LIM (U16_MAX - 1)
455-
#define IWL_CFG_BW_ANY U16_MAX
454+
#define IWL_CFG_NO_160 0x1
455+
#define IWL_CFG_160 0x0
456+
457+
#define IWL_CFG_NO_320 0x1
458+
#define IWL_CFG_320 0x0
456459

457460
#define IWL_CFG_CORES_BT 0x0
458461
#define IWL_CFG_CORES_BT_GNSS 0x5
@@ -464,18 +467,18 @@ struct iwl_cfg {
464467
#define IWL_CFG_IS_JACKET 0x1
465468

466469
#define IWL_SUBDEVICE_RF_ID(subdevice) ((u16)((subdevice) & 0x00F0) >> 4)
467-
#define IWL_SUBDEVICE_BW_LIM(subdevice) ((u16)((subdevice) & 0x0200) >> 9)
470+
#define IWL_SUBDEVICE_NO_160(subdevice) ((u16)((subdevice) & 0x0200) >> 9)
468471
#define IWL_SUBDEVICE_CORES(subdevice) ((u16)((subdevice) & 0x1C00) >> 10)
469472

470473
struct iwl_dev_info {
471474
u16 device;
472475
u16 subdevice;
473476
u16 mac_type;
474477
u16 rf_type;
475-
u16 bw_limit;
476478
u8 mac_step;
477479
u8 rf_step;
478480
u8 rf_id;
481+
u8 no_160;
479482
u8 cores;
480483
u8 cdb;
481484
u8 jacket;
@@ -489,7 +492,7 @@ extern const unsigned int iwl_dev_info_table_size;
489492
const struct iwl_dev_info *
490493
iwl_pci_find_dev_info(u16 device, u16 subsystem_device,
491494
u16 mac_type, u8 mac_step, u16 rf_type, u8 cdb,
492-
u8 jacket, u8 rf_id, u8 bw_limit, u8 cores, u8 rf_step);
495+
u8 jacket, u8 rf_id, u8 no_160, u8 cores, u8 rf_step);
493496
extern const struct pci_device_id iwl_hw_card_ids[];
494497
#endif
495498

drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c

Lines changed: 2 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) 2005-2014, 2018-2023, 2025 Intel Corporation
3+
* Copyright (C) 2005-2014, 2018-2023 Intel Corporation
44
* Copyright (C) 2013-2015 Intel Mobile Communications GmbH
55
* Copyright (C) 2016-2017 Intel Deutschland GmbH
66
*/
@@ -1094,7 +1094,7 @@ iwl_nvm_fixup_sband_iftd(struct iwl_trans *trans,
10941094
iftype_data->eht_cap.eht_mcs_nss_supp.bw._320.rx_tx_mcs13_max_nss = 0;
10951095
}
10961096

1097-
if (trans->bw_limit < 160)
1097+
if (trans->no_160)
10981098
iftype_data->he_cap.he_cap_elem.phy_cap_info[0] &=
10991099
~IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G;
11001100

drivers/net/wireless/intel/iwlwifi/iwl-trans.h

Lines changed: 3 additions & 4 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) 2005-2014, 2018-2023, 2025 Intel Corporation
3+
* Copyright (C) 2005-2014, 2018-2023 Intel Corporation
44
* Copyright (C) 2013-2015 Intel Mobile Communications GmbH
55
* Copyright (C) 2016-2017 Intel Deutschland GmbH
66
*/
@@ -876,7 +876,7 @@ struct iwl_txq {
876876
* only valid for discrete (not integrated) NICs
877877
* @invalid_tx_cmd: invalid TX command buffer
878878
* @reduced_cap_sku: reduced capability supported SKU
879-
* @bw_limit: the max bandwidth
879+
* @no_160: device not supporting 160 MHz
880880
* @step_urm: STEP is in URM, no support for MCS>9 in 320 MHz
881881
* @restart: restart worker data
882882
* @restart.wk: restart worker
@@ -911,8 +911,7 @@ struct iwl_trans {
911911
char hw_id_str[52];
912912
u32 sku_id[3];
913913
bool reduced_cap_sku;
914-
u16 bw_limit;
915-
bool step_urm;
914+
u8 no_160:1, step_urm:1;
916915

917916
u8 dsbr_urm_fw_dependent:1,
918917
dsbr_urm_permanent:1;

0 commit comments

Comments
 (0)