From patchwork Wed Apr 23 06:16:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 883739 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A2541F4CAB for ; Wed, 23 Apr 2025 06:16:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389018; cv=none; b=dJ9KaEFNqBe646HnNDdnHABhL3sM+oqQntGEh7y57KLFVA0eceLzWjLaadzK+uuloaTZSFnsx8CdqLklNS75BwobTuspf4D92Vom9iyqUE4yCyDZZW34tiZg8ySfR1jEK1RQVpQgU5GDpc2LCmTv3pd7ja1FLvyXF/Kt0BMd3/0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389018; c=relaxed/simple; bh=JjWMqa+PLxdUGrCT7fLZo+1F/pQQ3ynROXEYgLdn02Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=JIpNmOri85dx7Y9p6DfOboKaaXOuftJaeEWMHbCGxPduXcibxuO8XDtqxv3pwG2jxVG/+odELYCfqowyzMf+YN4x0HAeHWauku4z+2RnzWppoMkKe/taBvEHFyqRy40lHBO8Ymf8d725rhtFeO5WtxSDi2hKubiJ8txNkSZ5j2E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Wq5EY0vo; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Wq5EY0vo" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389016; x=1776925016; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JjWMqa+PLxdUGrCT7fLZo+1F/pQQ3ynROXEYgLdn02Y=; b=Wq5EY0voq/gzLLGcHePtQdf8EJNvnPIPHvslVC00/NOAXB4TCbVf3lgY AORK/imfAxGLaYWls2NlEDwO/WsuzcBXXxxbiRkpxT8C8J+EeQbBKke3x mDofGNL/yamtEU5R9yxf6SQrg91HvfP7tV/9QvZX4uA2VawTWoGzYCElT IuhoGT1VjkxsA0fVR2NfvBjvg+y36M5nlIM6l7nKeuAFFaAzv6BbJpK2l ejfPDY4iukMHV9dka+aX8g0ESUXERF9EOINZHMsq6qGj6gFoLQ2vzuAoF E8/2ZDlFYsLrF1CNAZBcgmu1a9rrPfePfgyJYooNOf+EUiIQeQdM3FFOU A==; X-CSE-ConnectionGUID: iqh2Mr+zS12c7bDTYv7HZQ== X-CSE-MsgGUID: mM62ciC/QB6e7hVAWSHg6w== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843614" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843614" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:16:56 -0700 X-CSE-ConnectionGUID: oLiZTL4CRsGIewpJqAvd/g== X-CSE-MsgGUID: Ah9+z3eKSKqu1+UkiMrzDQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269008" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:16:55 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg Subject: [PATCH wireless-next 01/15] wifi: iwlwifi: mvm: remove IWL_EMPTYING_HW_QUEUE_DELBA state Date: Wed, 23 Apr 2025 09:16:27 +0300 Message-Id: <20250423091408.e8a20fb41dc5.I9cd41a15148c90e953335e7020405103ba3fc7f0@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg This state can never be entered, since the last place using it was removed with non-DQA mode in commit c8f54701bdbf ("iwlwifi: mvm: remove non-DQA mode"). Clean up this code too. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mvm/sta.h | 5 +---- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 ++------------ 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.h b/drivers/net/wireless/intel/iwlwifi/mvm/sta.h index 19c905b641e2..af62c7f7c834 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.h +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ /* - * Copyright (C) 2012-2014, 2018-2024 Intel Corporation + * Copyright (C) 2012-2014, 2018-2025 Intel Corporation * Copyright (C) 2013-2014 Intel Mobile Communications GmbH * Copyright (C) 2015-2016 Intel Deutschland GmbH */ @@ -225,8 +225,6 @@ struct iwl_mvm_vif; * @IWL_AGG_ON: aggregation session is up * @IWL_EMPTYING_HW_QUEUE_ADDBA: establishing a BA session - waiting for the * HW queue to be empty from packets for this RA /TID. - * @IWL_EMPTYING_HW_QUEUE_DELBA: tearing down a BA session - waiting for the - * HW queue to be empty from packets for this RA /TID. */ enum iwl_mvm_agg_state { IWL_AGG_OFF = 0, @@ -234,7 +232,6 @@ enum iwl_mvm_agg_state { IWL_AGG_STARTING, IWL_AGG_ON, IWL_EMPTYING_HW_QUEUE_ADDBA, - IWL_EMPTYING_HW_QUEUE_DELBA, }; /** diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c index f67afb66ef2b..91f6945f3f98 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* - * Copyright (C) 2012-2014, 2018-2024 Intel Corporation + * Copyright (C) 2012-2014, 2018-2025 Intel Corporation * Copyright (C) 2013-2015 Intel Mobile Communications GmbH * Copyright (C) 2016-2017 Intel Deutschland GmbH */ @@ -1372,8 +1372,7 @@ static void iwl_mvm_check_ratid_empty(struct iwl_mvm *mvm, lockdep_assert_held(&mvmsta->lock); - if ((tid_data->state == IWL_AGG_ON || - tid_data->state == IWL_EMPTYING_HW_QUEUE_DELBA) && + if (tid_data->state == IWL_AGG_ON && iwl_mvm_tid_queued(mvm, tid_data) == 0) { /* * Now that this aggregation or DQA queue is empty tell @@ -1402,15 +1401,6 @@ static void iwl_mvm_check_ratid_empty(struct iwl_mvm *mvm, tid_data->state = IWL_AGG_STARTING; ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); break; - - case IWL_EMPTYING_HW_QUEUE_DELBA: - IWL_DEBUG_TX_QUEUES(mvm, - "Can continue DELBA flow ssn = next_recl = %d\n", - tid_data->next_reclaimed); - tid_data->state = IWL_AGG_OFF; - ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); - break; - default: break; } From patchwork Wed Apr 23 06:16:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 884338 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F800266B55 for ; Wed, 23 Apr 2025 06:16:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389019; cv=none; b=FRlI0VHGets7YKrPKTXNfp9jXZmFPSYwSgeXp8+g7gzA7R8SBj4bZmtkpeLCVmFhGWfdMp2BABavP+JC8qHz/oDrbE0pGKp0BY71oKLHnPMCCSt8AdX7NCuj0MkDZx+S6t6Qn1VKxtWSk4WqJt9moE6pvHZYnJ56I2TAV3rC7rA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389019; c=relaxed/simple; bh=nZNwPewvg76PjjaVgFfRyzeodqBY47odI5aOUnfzcfw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Iu4kyVtUj3kXBgciSWlqLw0mNaT0GtrXt+SYuwXDqpgYvBvf0TaSKQjqbLHPK3rYYVdvOnXwnVQ2JBsLZMpcUvetQmH/wlDOYO1jtVL1WF62mWT5j+1hC0vHhm9vhYP3oRUvoyCbQkSjritDpxCxNLnjRhRjMTmyQ8eaabyCK8M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=HFBPfeON; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="HFBPfeON" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389017; x=1776925017; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nZNwPewvg76PjjaVgFfRyzeodqBY47odI5aOUnfzcfw=; b=HFBPfeONHyprY5BcuzYa5nNwRtbPczcsQeCgiOqr5iddtmMSkUpZVsx2 HIST1J3TP2ijYBD19yLDZuyrjo0RISojlD7hsnJUnKr+OTrzbBCcp/zNc HGYOYAMIJ/f3R1zNXTfCEjsHzRyFkUp70sd1+L2kkijAWXPx1z4pn965m 4DmCdiJxtfGYIcHaQFKlruZHvuw1yRDklW1jw5JYb21IJD0eJXojOpabR meQ4uySH1a4dc0cpsmKCopJBiQ/UkdWGVAZVYSCEAN0SnbjYMHPe3JTyT hFRhmqbRGliNwh2ElcciCx/qOAYCc3AW8hbcaOrBAHjNam1HadD1Tp8Vi A==; X-CSE-ConnectionGUID: 246R/kAgTp2eLJLKj1GYjQ== X-CSE-MsgGUID: hc+D6NvlT9+PF1f3hNaaEA== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843617" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843617" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:16:57 -0700 X-CSE-ConnectionGUID: PRVDQgnhQF6EQ95KxGf05w== X-CSE-MsgGUID: EGMB5L90RJihE4FSMrKqxQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269014" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:16:56 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg Subject: [PATCH wireless-next 02/15] wifi: iwlwifi: fw: do reset handshake during assert if needed Date: Wed, 23 Apr 2025 09:16:28 +0300 Message-Id: <20250423091408.10adafedb74b.Ie3911db1ebbd196ae4b0de1c53012aa1de193c0d@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg Earlier, the firmware could only request the reset handshake is done during the dump, if the dump was split. However, it's also needed when the dump isn't split, in which case it must be done before the dump. The firmware now advertises this requirement, so do the handshake in the non-split case when asked for. Rename apply policy ..._RESET_HANDSHAKE to ..._SPLIT_DUMP_RESET to more clearly indicate that this specific dump needs to be split, while the handshake requirement overall is now indicated by the new capability flag. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- .../net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h | 8 ++++---- drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 15 ++++++++++++--- drivers/net/wireless/intel/iwlwifi/fw/file.h | 7 +++++++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h b/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h index 4fab6c66994e..3173fa96cb48 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h @@ -527,8 +527,8 @@ enum iwl_fw_ini_time_point { * @IWL_FW_INI_APPLY_POLICY_OVERRIDE_DATA: override trigger data. * Append otherwise * @IWL_FW_INI_APPLY_POLICY_DUMP_COMPLETE_CMD: send cmd once dump collected - * @IWL_FW_INI_APPLY_POLICY_RESET_HANDSHAKE: perform reset handshake and - * split dump to before/after with region marking + * @IWL_FW_INI_APPLY_POLICY_SPLIT_DUMP_RESET: split this dump into regions + * before and after the reset handshake */ enum iwl_fw_ini_trigger_apply_policy { IWL_FW_INI_APPLY_POLICY_MATCH_TIME_POINT = BIT(0), @@ -537,7 +537,7 @@ enum iwl_fw_ini_trigger_apply_policy { IWL_FW_INI_APPLY_POLICY_OVERRIDE_CFG = BIT(9), IWL_FW_INI_APPLY_POLICY_OVERRIDE_DATA = BIT(10), IWL_FW_INI_APPLY_POLICY_DUMP_COMPLETE_CMD = BIT(16), - IWL_FW_INI_APPLY_POLICY_RESET_HANDSHAKE = BIT(17), + IWL_FW_INI_APPLY_POLICY_SPLIT_DUMP_RESET = BIT(17), }; /** @@ -560,7 +560,7 @@ enum iwl_fw_ini_trigger_reset_fw_policy { * @IWL_FW_INI_DEBUG_DUMP_POLICY_MAX_LIMIT_600KB: mini dump only 600KB region dump * @IWL_FW_IWL_DEBUG_DUMP_POLICY_MAX_LIMIT_5MB: mini dump 5MB size dump * @IWL_FW_IWL_DEBUG_DUMP_POLICY_BEFORE_RESET: dump this region before reset - * handshake (if requested by %IWL_FW_INI_APPLY_POLICY_RESET_HANDSHAKE) + * handshake (if requested by %IWL_FW_INI_APPLY_POLICY_SPLIT_DUMP_RESET) */ enum iwl_fw_ini_dump_policy { IWL_FW_INI_DEBUG_DUMP_POLICY_NO_LIMIT = BIT(0), diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c index 03f639fbf9b6..e70eebf079be 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c @@ -2624,6 +2624,12 @@ enum iwl_dump_ini_region_selector { IWL_INI_DUMP_LATE_REGIONS, }; +static bool iwl_dump_due_to_error(enum iwl_fw_ini_time_point tp_id) +{ + return tp_id == IWL_FW_INI_TIME_POINT_FW_ASSERT || + tp_id == IWL_FW_INI_TIME_POINT_FW_HW_ERROR; +} + static u32 iwl_dump_ini_dump_regions(struct iwl_fw_runtime *fwrt, struct iwl_fwrt_dump_data *dump_data, @@ -2689,8 +2695,7 @@ iwl_dump_ini_dump_regions(struct iwl_fw_runtime *fwrt, * debug data which also need to be collected. */ if (reg_type == IWL_FW_INI_REGION_DRAM_IMR) { - if (tp_id == IWL_FW_INI_TIME_POINT_FW_ASSERT || - tp_id == IWL_FW_INI_TIME_POINT_FW_HW_ERROR) + if (iwl_dump_due_to_error(tp_id)) imr_reg_data->reg_tlv = fwrt->trans->dbg.active_regions[i]; else @@ -2727,7 +2732,7 @@ static u32 iwl_dump_ini_trigger(struct iwl_fw_runtime *fwrt, ARRAY_SIZE(fwrt->trans->dbg.active_regions)); if (trigger->time_point & - cpu_to_le32(IWL_FW_INI_APPLY_POLICY_RESET_HANDSHAKE)) { + cpu_to_le32(IWL_FW_INI_APPLY_POLICY_SPLIT_DUMP_RESET)) { size += iwl_dump_ini_dump_regions(fwrt, dump_data, list, tp_id, regions_mask, &imr_reg_data, IWL_INI_DUMP_EARLY_REGIONS); @@ -2736,6 +2741,10 @@ static u32 iwl_dump_ini_trigger(struct iwl_fw_runtime *fwrt, regions_mask, &imr_reg_data, IWL_INI_DUMP_LATE_REGIONS); } else { + if (fw_has_capa(&fwrt->fw->ucode_capa, + IWL_UCODE_TLV_CAPA_RESET_DURING_ASSERT) && + iwl_dump_due_to_error(tp_id)) + iwl_trans_pcie_fw_reset_handshake(fwrt->trans); size += iwl_dump_ini_dump_regions(fwrt, dump_data, list, tp_id, regions_mask, &imr_reg_data, IWL_INI_DUMP_ALL_REGIONS); diff --git a/drivers/net/wireless/intel/iwlwifi/fw/file.h b/drivers/net/wireless/intel/iwlwifi/fw/file.h index 9860903ecd3f..9155d64c4a58 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/file.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/file.h @@ -504,6 +504,13 @@ enum iwl_ucode_tlv_capa { IWL_UCODE_TLV_CAPA_MONITOR_PASSIVE_CHANS = (__force iwl_ucode_tlv_capa_t)122, IWL_UCODE_TLV_CAPA_BIOS_OVERRIDE_5G9_FOR_CA = (__force iwl_ucode_tlv_capa_t)123, IWL_UCODE_TLV_CAPA_UHB_CANADA_TAS_SUPPORT = (__force iwl_ucode_tlv_capa_t)124, + + /* set 4 */ + /** + * @IWL_UCODE_TLV_CAPA_RESET_DURING_ASSERT: FW reset handshake is needed + * during assert handling even if the dump isn't split + */ + IWL_UCODE_TLV_CAPA_RESET_DURING_ASSERT = (__force iwl_ucode_tlv_capa_t)(4 * 32 + 0), NUM_IWL_UCODE_TLV_CAPA /* * This construction make both sparse (which cannot increment the previous From patchwork Wed Apr 23 06:16:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 883738 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61299266EE2 for ; Wed, 23 Apr 2025 06:16:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389019; cv=none; b=L6//zEjxOVTpbp2nEf5q1VCgd9nm22+Ntv0bq4excunpnLcawfwT4WkRPgTuBOTBc2YFkoTETmEAfzBoBDWQ0C2CKWljTZu4RoyMqEOJvnyw3KNw/wdC8cHwUW3MZPu8OsFraGqFifO5YlJRuR3ih/8CUImaIp82HfB8pqUjGQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389019; c=relaxed/simple; bh=g6BiFm89esW+8V8YJ24jsMF1JDmgXbzryMkXVjpvqIM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ohCYct4u/N+PDrZAh2+O4kvpUr8feivjsvdCG/zzK5eXlE9j2Gm1By27HwDGhNHkoia7EUFVWfbN9MlzXr8ehGmz0Cocxu1/ypV2nfw49pMeuHHEAHGuwkAEPpchcWIKQvUWa9XOYqU54scQRQFIPrmDiZa0JNYp+rlpEtyckyA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=TZYW3ZVo; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="TZYW3ZVo" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389018; x=1776925018; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=g6BiFm89esW+8V8YJ24jsMF1JDmgXbzryMkXVjpvqIM=; b=TZYW3ZVoG05LiIITq34wexiSHWkpR/vL1ULAJNziB/mpWTrVLyHB8c26 Gst1tGzIVTSgGgcfi+90DA3X1bNRe1hMwLV5nCY02BvUbVY4MJtPW+gau 6hrnHM4gyw4GDu2kSX9WweaGkoMVi/CpZAnmzwjhiQ8WVmVhsZ+2VT0PZ hw83z8m4mu9Fw5t+/KxIQgi8yNxIgZbPCF5dOmmzROczaVKLfeSzGmMaw hAepYHqJu4/esWy1XVjMF0sBcYMtx1ilb7qtmg9wtcDzU/krBdEa1bDnH a0h46fIvDN8KShHHwOyp8VjUXmG3AvaICyfThJOaS6F5odsvybKuizQCX A==; X-CSE-ConnectionGUID: V4RI4g5zSPSB4fC01x7Yxg== X-CSE-MsgGUID: QnojmDguQzeO+jaogoL7NQ== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843620" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843620" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:16:58 -0700 X-CSE-ConnectionGUID: WU14Z2CLQbCSNTxOJFskEQ== X-CSE-MsgGUID: 2E1uSfEDTFOZG3tmJtw+bQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269015" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:16:57 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org Subject: [PATCH wireless-next 03/15] wifi: iwlwifi: re-add IWL_AMSDU_8K case Date: Wed, 23 Apr 2025 09:16:29 +0300 Message-Id: <20250423091408.ef19205aa358.Ifbf89e7b7391cd7070267b7360c53230b3b2c57c@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited This case in iwl_trans_get_rb_size_order was accidently combined with the IWL_AMSDU_12K case. Fix this. Fixes: 7391b2a4f7db ("wifi: iwlwifi: rework firmware error handling") Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h index 25fb4c50e38b..b9dc1b8794ce 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h @@ -328,6 +328,7 @@ iwl_trans_get_rb_size_order(enum iwl_amsdu_size rb_size) case IWL_AMSDU_4K: return get_order(4 * 1024); case IWL_AMSDU_8K: + return get_order(8 * 1024); case IWL_AMSDU_12K: return get_order(16 * 1024); default: From patchwork Wed Apr 23 06:16:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 884337 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 06852267397 for ; Wed, 23 Apr 2025 06:16:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389021; cv=none; b=lKbo4lTyLddwDdMeAJ2u6GGHGhTBSQzp3xY7prvpjjHurxJbI8XTUa41UYc2PADPES+Cob///2ClMKJ11TQkXZPt/xbvcLs6fYhpLvUEgoRSbl7GiaajyLSmCDkMifMs+QcO6qHZgEHS9BtQgTVYnlvJflUJS5gZn9Br4DGJs68= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389021; c=relaxed/simple; bh=9R/p5e27pnoiAY42Zg51kvE3IwL5/rlJmnxIW0GQFG4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IJtn0U6Pm7RZBYAicG0qG+so4kGIA3ivZrl6V3MzFVSjW07Pq8xEbeqAQEJatZ24DXdd1kra2TL8VOmSvHJB+BZ93WiyFsxM6IP58fCcyXn0t8wUPmPUUOphdMlGvuToXeV+N966yMPS/PbpvIBYJXveY6IsOfFZwkUUdPWX5AM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lvcJ5C0I; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lvcJ5C0I" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389020; x=1776925020; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9R/p5e27pnoiAY42Zg51kvE3IwL5/rlJmnxIW0GQFG4=; b=lvcJ5C0Iqxj9sDUE3Y2ilh1HWH/HGqlmdnOpKN+Sr7xqKZcBnqpnTI7O tqYHfD5mWlFPhmqtIf2fuBnVJfC/3yJtaDagReYYP4Dnm/g3OonF6KA+M EUes/s+mqk4S03p3UU27xaqJF2MQWnPz/AX96SLnYD2xwS3yaQK/fcatY rnApmU7nhe5rljQXnMbj/xzCG1NpvLQOMc++GyDYoDJaDaJSR+mHaCJLR +Uq5gOhTJ5AzV/GJVIx2g2EPrurmZRX5FN9u46hr8g1+FOmq80sn4Mz3V GRx/QF+q3hK5ZNcs3cSOfnSrC1eMCihyxiSMbKxMPaotPYtIugeWUix7Y A==; X-CSE-ConnectionGUID: lF2C8QV1RDOQdGezr0327A== X-CSE-MsgGUID: sagXBEuLSL6d3zY4LJWZtw== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843625" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843625" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:00 -0700 X-CSE-ConnectionGUID: qhUqqkKzT6aHcBRFnOTjKA== X-CSE-MsgGUID: QMiLISxoT9qPX2rZ2xZVrg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269024" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:16:58 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Anjaneyulu , Somashekhar Puttagangaiah Subject: [PATCH wireless-next 04/15] wifi: iwlwifi: parse active and 20 MHz AP NVM channel flag Date: Wed, 23 Apr 2025 09:16:30 +0300 Message-Id: <20250423091408.897d826a8612.I1f7f84f4485ed3928070c97a031110ccb608bda8@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Anjaneyulu Configure 20 MHz AP mode based on NVM settings, set the NL80211_RRF_ALLOW_20MHZ_ACTIVITY flag, when the NVM indicates that an access point can operate in 20 MHz only. Signed-off-by: Somashekhar Puttagangaiah Signed-off-by: Pagadala Yesu Anjaneyulu Signed-off-by: Miri Korenblit --- Depends on commit: "wifi: cfg80211: allow AP operations in 20 MHz configuration" --- .../wireless/intel/iwlwifi/iwl-nvm-parse.c | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index cd1b0048bb6d..018752b8c4d8 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -143,6 +143,9 @@ static struct ieee80211_rate iwl_cfg80211_rates[] = { * @NVM_CHANNEL_VALID: channel is usable for this SKU/geo * @NVM_CHANNEL_IBSS: usable as an IBSS channel and deprecated * when %IWL_NVM_SBANDS_FLAGS_LAR enabled. + * @NVM_CHANNEL_ALLOW_20MHZ_ACTIVITY: active scanning allowed and + * AP allowed only in 20 MHz. Valid only + * when %IWL_NVM_SBANDS_FLAGS_LAR enabled. * @NVM_CHANNEL_ACTIVE: active scanning allowed and allows IBSS * when %IWL_NVM_SBANDS_FLAGS_LAR enabled. * @NVM_CHANNEL_RADAR: radar detection required @@ -159,20 +162,21 @@ static struct ieee80211_rate iwl_cfg80211_rates[] = { * @NVM_CHANNEL_AFC: client support connection to UHB AFC AP */ enum iwl_nvm_channel_flags { - NVM_CHANNEL_VALID = BIT(0), - NVM_CHANNEL_IBSS = BIT(1), - NVM_CHANNEL_ACTIVE = BIT(3), - NVM_CHANNEL_RADAR = BIT(4), - NVM_CHANNEL_INDOOR_ONLY = BIT(5), - NVM_CHANNEL_GO_CONCURRENT = BIT(6), - NVM_CHANNEL_UNIFORM = BIT(7), - NVM_CHANNEL_20MHZ = BIT(8), - NVM_CHANNEL_40MHZ = BIT(9), - NVM_CHANNEL_80MHZ = BIT(10), - NVM_CHANNEL_160MHZ = BIT(11), - NVM_CHANNEL_DC_HIGH = BIT(12), - NVM_CHANNEL_VLP = BIT(13), - NVM_CHANNEL_AFC = BIT(14), + NVM_CHANNEL_VALID = BIT(0), + NVM_CHANNEL_IBSS = BIT(1), + NVM_CHANNEL_ALLOW_20MHZ_ACTIVITY = BIT(2), + NVM_CHANNEL_ACTIVE = BIT(3), + NVM_CHANNEL_RADAR = BIT(4), + NVM_CHANNEL_INDOOR_ONLY = BIT(5), + NVM_CHANNEL_GO_CONCURRENT = BIT(6), + NVM_CHANNEL_UNIFORM = BIT(7), + NVM_CHANNEL_20MHZ = BIT(8), + NVM_CHANNEL_40MHZ = BIT(9), + NVM_CHANNEL_80MHZ = BIT(10), + NVM_CHANNEL_160MHZ = BIT(11), + NVM_CHANNEL_DC_HIGH = BIT(12), + NVM_CHANNEL_VLP = BIT(13), + NVM_CHANNEL_AFC = BIT(14), }; /** @@ -1659,6 +1663,10 @@ static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan, if (nvm_flags & NVM_CHANNEL_INDOOR_ONLY) flags |= NL80211_RRF_NO_OUTDOOR; + if (nvm_flags & NVM_CHANNEL_ALLOW_20MHZ_ACTIVITY && + flags & NL80211_RRF_NO_IR) + flags |= NL80211_RRF_ALLOW_20MHZ_ACTIVITY; + /* Set the GO concurrent flag only in case that NO_IR is set. * Otherwise it is meaningless */ From patchwork Wed Apr 23 06:16:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 883737 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B18A22676DC for ; Wed, 23 Apr 2025 06:17:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389023; cv=none; b=Eu5O7cuHtFQd7XFM1LGKhK/bjGVXgn41CDs/Fn8Z2dYvjqBD2kyiQW5kf4S4+n3Z5YorBz/VORcC5hFi2Lt1RHkbtrEmPddk+UdE7WSLz1FHEVpSoth08y+Lg7tFx/Nvf0IbcVGkjnwnSUEM9/wQXx762xEDt46QKUXcbWyOkTI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389023; c=relaxed/simple; bh=NOq6/f8vnecOpLLLBXcUEJZOu3U+aUpseDi1yRiS2V8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=btzLisirtK8ng0eGZPNP72pHyG5PA0pOKUwEwAhDcCy2+U/H+BOLuoxTEi7gXUWXGnfoEfNEFXvfO8l7hvf6ooNEvc4z4sbtbWD0Cx+DMDxsHBucySpwKi+2xd2sYlJ2UOcqdrcHGWrZlg4C4dy4CeCDsaq/kqjyCQ7TQNTrhWI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=E6SHLpHk; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="E6SHLpHk" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389021; x=1776925021; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NOq6/f8vnecOpLLLBXcUEJZOu3U+aUpseDi1yRiS2V8=; b=E6SHLpHk/pNJ1p7KoYdAWq8EW1KN8tSmBvtormN/jti6yCoOTc3jCvSW 24aDmnEALE/WLQBVWKn79ppLAEhjZjscImX2L9+Ce220EzNmWR2CHZjjT fjBkNxyLiHVWjbklhUdAfG5ySCXgrfXOWffgG5f8CEExSSnAWM4hAoufX rvVlwrZFub0Xte+qFFyKSjMsNj/tsY786MefyZnVENpWxD1+jIVKwCHvo U9TlBXwCEs2Pwfzxd1F6MQO8qWp6FSuqcVh87oSl8pUrz/kfpQE74Hw4w FMAYQOr7mtDvORFb6zb8eKff5B7Jl4N8kWFBb8O49CFxMvBxxwN1yoADu w==; X-CSE-ConnectionGUID: WUhLz8IlQe27TTLIGZMoBg== X-CSE-MsgGUID: 1AXMGpmPQ3a+pBpA3gyf9g== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843627" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843627" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:01 -0700 X-CSE-ConnectionGUID: dsZzcAD8TY+0DmgbhB26MQ== X-CSE-MsgGUID: 08f1S/rlQdGSBajtp1/g6A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269029" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:00 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg , Emmanuel Grumbach Subject: [PATCH wireless-next 05/15] wifi: iwlwifi: mld: remove P2P powersave tracking Date: Wed, 23 Apr 2025 09:16:31 +0300 Message-Id: <20250423091408.ee164b464c21.I29de491b4d74b2b8084e54bfbd28646b15dee196@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg Since the FW is tracking the CT window by itself, we don't need to update the MAC context or even fill in the value. We just had added that because a firmware bug had broken it for a while. Signed-off-by: Johannes Berg Reviewed-by: Emmanuel Grumbach Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/iface.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/iface.c b/drivers/net/wireless/intel/iwlwifi/mld/iface.c index e49e2260ac05..47b5b31b5b91 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/iface.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/iface.c @@ -226,11 +226,6 @@ static void iwl_mld_fill_mac_cmd_sta(struct iwl_mld *mld, if (vif->probe_req_reg && vif->cfg.assoc && vif->p2p) cmd->filter_flags |= cpu_to_le32(MAC_CFG_FILTER_ACCEPT_PROBE_REQ); - - if (vif->p2p) - cmd->client.ctwin = - cpu_to_le32(vif->bss_conf.p2p_noa_attr.oppps_ctwindow & - IEEE80211_P2P_OPPPS_CTWINDOW_MASK); } static void iwl_mld_fill_mac_cmd_ap(struct iwl_mld *mld, From patchwork Wed Apr 23 06:16:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 884336 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C343266B65 for ; Wed, 23 Apr 2025 06:17:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389024; cv=none; b=Hrgswp+EaJJYFoMAC67cYylTamSzyF74wTZohZd6pDojnqiahgokthJgmwKYCcSz3D0wAXYANsmS8DO86nPhx8Jsq4vR0qDGwRbj936a+Aq2r+uDZTcq5yxEfaRpJCRul6jQ1PS59Ok4wu73qcnzRrzBrWdufBjkbC/Up7Dk0hA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389024; c=relaxed/simple; bh=E7v+HbxbPv0UBZZyCsSQiz0aYRzKOgZiYHNQEYGcHdk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=s/7/rgnRWb44qI02ULfLBnwkVZD74N12bSC/CJEFvZUsDaceDvgrHRc6LBr/s29V/8Rv9RzSKd7r1rBuPzRTcz6ZlpQctnIyOLXlh2WrYKss8BsX0uSN/VGzQHDHvqU2qbB3a9ECm1B0zSskFuTloVS9HWMK0MRSvnEZAbVQurE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=OIBAe2YQ; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="OIBAe2YQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389023; x=1776925023; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=E7v+HbxbPv0UBZZyCsSQiz0aYRzKOgZiYHNQEYGcHdk=; b=OIBAe2YQOVMp5wyfHDLXO3jWnD/k1qwcDBPSYSqgO6zDd63Bfk8Hfsp8 ho/duY8sEgeAoPktkcQq4njOAd1AmKeexrYT6MODS2RKYP0jPeh33tIJw 0JA5XI1455dVaUOH+FUu930f2qcQpBQnwe3ZsBT+D699qBmxVeI00JJ5c rhnIWw3ValwHYIibIuLtotLPMCj9kspXK9gMu7A6fyGyQuPiOAKIVs9Xd Jfz2NkRCIdIzU6S8HUIScmb2Vz6r34UlB1LOMbzJBD1f6puLf0lhT2i6x O8rRpz26EncK4nhKF67BFYemQ76aD26oVOGWbKN4C9y7T0GtXLR9bZIkD g==; X-CSE-ConnectionGUID: h0pqeQR+QgKWRWTJNRffYw== X-CSE-MsgGUID: cNKyyDY6T/2LdCKqL07kcQ== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843629" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843629" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:02 -0700 X-CSE-ConnectionGUID: O7qkkgv9QfqThDGBCFhPgw== X-CSE-MsgGUID: sO+W/CIKR/CEsH6nMHusow== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269039" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:02 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Emmanuel Grumbach Subject: [PATCH wireless-next 06/15] wifi: iwlwifi: mld: remove stored_beacon support Date: Wed, 23 Apr 2025 09:16:32 +0300 Message-Id: <20250423091408.2bb3ea3ff79b.Ie8f1d89f59d45a960a5fe63e7b717527251350ad@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Emmanuel Grumbach We never ask the firmware to store the beacon, so it won't ever send the notification. Remove the handling of that notification. Remove that notification from the arrays of the notifications' names and add the ones that we forgot to add. Signed-off-by: Emmanuel Grumbach Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/mld.c | 4 +- .../net/wireless/intel/iwlwifi/mld/notif.c | 45 ------------------- 2 files changed, 3 insertions(+), 46 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index d4a99ae64074..367f9738c011 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.c @@ -286,7 +286,9 @@ static const struct iwl_hcmd_names iwl_mld_statistics_names[] = { * Access is done through binary search */ static const struct iwl_hcmd_names iwl_mld_prot_offload_names[] = { - HCMD_NAME(STORED_BEACON_NTF), + HCMD_NAME(WOWLAN_WAKE_PKT_NOTIFICATION), + HCMD_NAME(WOWLAN_INFO_NOTIFICATION), + HCMD_NAME(D3_END_NOTIFICATION), }; /* Please keep this array *SORTED* by hex value. diff --git a/drivers/net/wireless/intel/iwlwifi/mld/notif.c b/drivers/net/wireless/intel/iwlwifi/mld/notif.c index fc18cba8aaa8..b8a3204c7847 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/notif.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/notif.c @@ -182,47 +182,6 @@ static void iwl_mld_handle_mu_mimo_grp_notif(struct iwl_mld *mld, notif); } -static void -iwl_mld_handle_stored_beacon_notif(struct iwl_mld *mld, - struct iwl_rx_packet *pkt) -{ - unsigned int pkt_len = iwl_rx_packet_payload_len(pkt); - struct iwl_stored_beacon_notif *sb = (void *)pkt->data; - struct ieee80211_rx_status rx_status = {}; - struct sk_buff *skb; - u32 size = le32_to_cpu(sb->common.byte_count); - - if (size == 0) - return; - - if (pkt_len < struct_size(sb, data, size)) - return; - - skb = alloc_skb(size, GFP_ATOMIC); - if (!skb) { - IWL_ERR(mld, "alloc_skb failed\n"); - return; - } - - /* update rx_status according to the notification's metadata */ - rx_status.mactime = le64_to_cpu(sb->common.tsf); - /* TSF as indicated by the firmware is at INA time */ - rx_status.flag |= RX_FLAG_MACTIME_PLCP_START; - rx_status.device_timestamp = le32_to_cpu(sb->common.system_time); - rx_status.band = - iwl_mld_phy_band_to_nl80211(le16_to_cpu(sb->common.band)); - rx_status.freq = - ieee80211_channel_to_frequency(le16_to_cpu(sb->common.channel), - rx_status.band); - - /* copy the data */ - skb_put_data(skb, sb->data, size); - memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status)); - - /* pass it as regular rx to mac80211 */ - ieee80211_rx_napi(mld->hw, NULL, skb, NULL); -} - static void iwl_mld_handle_channel_switch_start_notif(struct iwl_mld *mld, struct iwl_rx_packet *pkt) @@ -361,8 +320,6 @@ CMD_VERSIONS(ct_kill_notif, CMD_VER_ENTRY(2, ct_kill_notif)) CMD_VERSIONS(temp_notif, CMD_VER_ENTRY(2, iwl_dts_measurement_notif)) -CMD_VERSIONS(stored_beacon_notif, - CMD_VER_ENTRY(4, iwl_stored_beacon_notif)) CMD_VERSIONS(roc_notif, CMD_VER_ENTRY(1, iwl_roc_notif)) CMD_VERSIONS(probe_resp_data_notif, @@ -473,8 +430,6 @@ const struct iwl_rx_handler iwl_mld_rx_handlers[] = { RX_HANDLER_OF_ROC(MAC_CONF_GROUP, ROC_NOTIF, roc_notif) RX_HANDLER_NO_OBJECT(DATA_PATH_GROUP, MU_GROUP_MGMT_NOTIF, mu_mimo_grp_notif, RX_HANDLER_SYNC) - RX_HANDLER_NO_OBJECT(PROT_OFFLOAD_GROUP, STORED_BEACON_NTF, - stored_beacon_notif, RX_HANDLER_SYNC) RX_HANDLER_OF_VIF(MAC_CONF_GROUP, PROBE_RESPONSE_DATA_NOTIF, probe_resp_data_notif) RX_HANDLER_NO_OBJECT(PHY_OPS_GROUP, CT_KILL_NOTIFICATION, From patchwork Wed Apr 23 06:16:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 883736 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 235E0266B70 for ; Wed, 23 Apr 2025 06:17:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389025; cv=none; b=QQcbGWam/LsU13xjzYqGIrYPWhczGD+IsLqSD8LsWUAcRjkU67URmkFJcSZxGqt/aGmtfwYfRuRz9u5uZ+eHYWhwNdAKX7VbGPdpPBwPxSUBUaAYvFDyPrTMf2xuKUUgJ20RPAf6RcPfDp8nSUkLmhDqGY6FIhIxsh7YUyL9cY4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389025; c=relaxed/simple; bh=csjViaGQSf5FNOj5F04VW80J5j/q0jWBsIx0qDESDYw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=aF3khsey+94mMaxFRqSg8dLSIbisHHVF0Sn4itQ3ui0WpcrCZqePLw3/GawPwC26IJB42IFUyKJEj//Utq7HqsKU3sJludyJGR4QXXT/VX8k8stfZWsXM2geC09v95szVTXcKJuurJ38xGZng+F4AjJ6EWS2zkAAqhUfE1GSTVw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=H90IxuEN; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="H90IxuEN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389024; x=1776925024; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=csjViaGQSf5FNOj5F04VW80J5j/q0jWBsIx0qDESDYw=; b=H90IxuEN+VR5RXsjUoBdfwK5hlpn+QVpZQd8L0eDny4hkTnjOeTA933H UYrqtib9ujn8N9JQh8/6CVMp3baMr/FDgK7GkcnzKEGEA7om0Ri6OuemG CEVaYvZrlrWULNJ5QOFhRRwcdxWRVXD/OPE9hEk+oXi2EkjqmoA48Zooy gbIRsbz4Dlz3D3lyb/UiSSxK9l0DaRpQKvua5GHGahi85rrj4NlDxMd7k IgNEJi6gWKQ4XVbMuYZNK4sMiorLCviQihXag+rRdzVfRHEDZaPW4PyMi kj80EYQSGOeo+PfMAGlcDwcKKQS/N8v8ITrzeL40Vr/hQpsYQI2l1Y1/f g==; X-CSE-ConnectionGUID: mfQcpon7Q/GiSpORn6ORQw== X-CSE-MsgGUID: 2UoJT5hYSpK62lEw1kemCA== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843634" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843634" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:04 -0700 X-CSE-ConnectionGUID: CibARQt5SmmczOsCRHC1Tw== X-CSE-MsgGUID: aPGv4B2uShKkwnTS84RG1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269043" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:03 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg Subject: [PATCH wireless-next 07/15] wifi: iwlwifi: mld: avoid memory leak if mcc_init fails Date: Wed, 23 Apr 2025 09:16:33 +0300 Message-Id: <20250423091408.d07469f866ac.I84ad2e624ce7cd4a661c73b4942186e50cdf82b2@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited allocating mld->nvm_data used to be the last thing done in iwl_mld_load_fw, so there was no need to free on any error path of iwl_mld_load_fw. But now iwl_mld_load_fw also calls iwl_mld_init_mcc, that can fail, after allocating nvm->data. In that case, it is not freed. As allocating the NVM data should only be done at op mode start anyway, simply move it to there, where it is already freed in the right error paths. Signed-off-by: Miri Korenblit Reviewed-by: Johannes Berg --- drivers/net/wireless/intel/iwlwifi/mld/fw.c | 11 ----------- drivers/net/wireless/intel/iwlwifi/mld/mld.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/fw.c b/drivers/net/wireless/intel/iwlwifi/mld/fw.c index 62da137e1024..77cc8e4bb498 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/fw.c @@ -11,7 +11,6 @@ #include "fw/dbg.h" #include "fw/pnvm.h" #include "hcmd.h" -#include "iwl-nvm-parse.h" #include "power.h" #include "mcc.h" #include "led.h" @@ -308,16 +307,6 @@ static int iwl_mld_run_fw_init_sequence(struct iwl_mld *mld) goto init_failure; } - if (!mld->nvm_data) { - mld->nvm_data = iwl_get_nvm(mld->trans, mld->fw, 0, 0); - if (IS_ERR(mld->nvm_data)) { - ret = PTR_ERR(mld->nvm_data); - mld->nvm_data = NULL; - IWL_ERR(mld, "Failed to read NVM: %d\n", ret); - goto init_failure; - } - } - return 0; init_failure: diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index 367f9738c011..8d788af8dcc8 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.c @@ -26,6 +26,8 @@ #include "hcmd.h" #include "fw/api/location.h" +#include "iwl-nvm-parse.h" + #define DRV_DESCRIPTION "Intel(R) MLD wireless driver for Linux" MODULE_DESCRIPTION(DRV_DESCRIPTION); MODULE_LICENSE("GPL"); @@ -412,6 +414,14 @@ iwl_op_mode_mld_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, break; } + if (!ret) { + mld->nvm_data = iwl_get_nvm(mld->trans, mld->fw, 0, 0); + if (IS_ERR(mld->nvm_data)) { + IWL_ERR(mld, "Failed to read NVM: %d\n", ret); + ret = PTR_ERR(mld->nvm_data); + } + } + if (ret) { wiphy_unlock(mld->wiphy); rtnl_unlock(); From patchwork Wed Apr 23 06:16:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 884335 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82679267705 for ; Wed, 23 Apr 2025 06:17:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389027; cv=none; b=qMyd6hElkzSh1KpxJzk2yFJsR31odVx7XsxAXTRHlmkdhMdEUpNfrYIGrGZHzhP8w9xVrP2G1AB6i0Aw8/ZDF0iEvXJDp3SX9d5ObykzI2IAr/UunYIIEpjASZsFqILRxVw3tdrxLmvBI3N6U11zZnJkmOIT/J/lsrGH6E+SqYs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389027; c=relaxed/simple; bh=l+2ye8Wn6MGC6tKklV/KB2fZ4l+ccQwr9i/7i+L5scg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OWXt6VPfY/+g4nrhz7nmtneQ3JXrIhy4MPP51BPqWXUGWiheUanyyukCpjo7rryuHLebTq9pjKXtAAD4xLfl4WUBX/gQQ8q1y2zoUnC/baWRkmz/vgkh7UAow0S6o9iOW1zbfy666mUVWJIacOqfqtRzJsfzTtk1SU9xeBZ3IOg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=DZ7LrKL9; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="DZ7LrKL9" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389025; x=1776925025; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=l+2ye8Wn6MGC6tKklV/KB2fZ4l+ccQwr9i/7i+L5scg=; b=DZ7LrKL9jSGN7lR7ixt05X/PKjr7XlnulSGC3i5iY9Say9Az5oRuimRX lEtA6q3nFkyB+9xavXfjXwR2M7eqHci5myfNlR21bDLMDyrJEtjD1/i2B Um2czrGpTvunuAOM56DYxdqDSkirm451ToUaKjYktMEmyoxlCccJTQDjE HfCHlJvJUy6lz41c1ENyg4VK5bPvHyJ8m4J/b8m3/3PUy4vOZjVMsdbXo Ttrm89iymx+KTZbVnlFLsexhnSQ5Z9QmDxOSXpGiQ2EhJHdPKTy5+Jtwu Sf/MzTyHE/Cd8dH1QlwNNles0FjlYZvvXJOcZFq+dzIX5BgqgRjeSzkIm Q==; X-CSE-ConnectionGUID: 6mXPFh79TfmkrL7SqHeBOg== X-CSE-MsgGUID: sqF9jqUiQkyBa/w8ItzeQQ== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843636" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843636" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:05 -0700 X-CSE-ConnectionGUID: cH8yEiF7QG2ofJunHSxdXw== X-CSE-MsgGUID: GrPZtfB6Q06cNyWCU27oGQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269049" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:04 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg Subject: [PATCH wireless-next 08/15] wifi: iwlwifi: mld: stop hw if mcc_init fails Date: Wed, 23 Apr 2025 09:16:34 +0300 Message-Id: <20250423091408.ba06d972a57b.I317fb7b10ed8a688a0d92c5d99de8765d8044b10@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited iwl_mld_run_fw_init_sequence used to be the last thing done in iwl_mld_load_fw, and if it failed, it called iwl_trans_stop_hw. Now we also have there iwl_mld_init_mcc, and it can fail. In that case, we need to undo what we did so far, which is basically only iwl_trans_stop_device. Do that. Signed-off-by: Miri Korenblit Reviewed-by: Johannes Berg --- drivers/net/wireless/intel/iwlwifi/mld/fw.c | 26 ++++++++------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/fw.c b/drivers/net/wireless/intel/iwlwifi/mld/fw.c index 77cc8e4bb498..511df49672b5 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/fw.c @@ -238,22 +238,17 @@ static int iwl_mld_load_fw_wait_alive(struct iwl_mld *mld) iwl_fw_dbg_error_collect(&mld->fwrt, FW_DBG_TRIGGER_ALIVE_TIMEOUT); iwl_mld_print_alive_notif_timeout(mld); - goto alive_failure; + return ret; } if (!alive_valid) { IWL_ERR(mld, "Loaded firmware is not valid!\n"); - ret = -EIO; - goto alive_failure; + return -EIO; } iwl_trans_fw_alive(mld->trans, 0); return 0; - -alive_failure: - iwl_trans_stop_device(mld->trans); - return ret; } static int iwl_mld_run_fw_init_sequence(struct iwl_mld *mld) @@ -279,7 +274,7 @@ static int iwl_mld_run_fw_init_sequence(struct iwl_mld *mld) &mld->fw->ucode_capa); if (ret) { IWL_ERR(mld, "Timeout waiting for PNVM load %d\n", ret); - goto init_failure; + return ret; } iwl_dbg_tlv_time_point(&mld->fwrt, IWL_FW_INI_TIME_POINT_AFTER_ALIVE, @@ -297,21 +292,17 @@ static int iwl_mld_run_fw_init_sequence(struct iwl_mld *mld) if (ret) { IWL_ERR(mld, "Failed to send init config command: %d\n", ret); iwl_remove_notification(&mld->notif_wait, &init_wait); - goto init_failure; + return ret; } ret = iwl_wait_notification(&mld->notif_wait, &init_wait, MLD_INIT_COMPLETE_TIMEOUT); if (ret) { IWL_ERR(mld, "Failed to get INIT_COMPLETE %d\n", ret); - goto init_failure; + return ret; } return 0; - -init_failure: - iwl_trans_stop_device(mld->trans); - return ret; } int iwl_mld_load_fw(struct iwl_mld *mld) @@ -326,15 +317,18 @@ int iwl_mld_load_fw(struct iwl_mld *mld) ret = iwl_mld_run_fw_init_sequence(mld); if (ret) - return ret; + goto err; ret = iwl_mld_init_mcc(mld); if (ret) - return ret; + goto err; mld->fw_status.running = true; return 0; +err: + iwl_trans_stop_device(mld->trans); + return ret; } void iwl_mld_stop_fw(struct iwl_mld *mld) From patchwork Wed Apr 23 06:16:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 883735 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F9B2266B70 for ; Wed, 23 Apr 2025 06:17:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389028; cv=none; b=H77qRQ8bKeuqBkbtN2M6S0AIiNWw3dBiDAQ05G7A5gIGtVZMwGpR5xkfHeIF0vYerIEJ4agYDwEg+OJmIblRuufB5Mz3pSTJbZuhbZ6iYQUksZierdhX0UvSXLyeLQueBHhzN6RFu6iAKXQpW101DlBgr15XpEZN70zYXtcn0js= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389028; c=relaxed/simple; bh=9iMzZFYH77hQZH4clEdGsh0IA21gqz3IWXYP8hKdjBA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Mk3qby7Ey/urmsrFONImNMNRKOPZpmTlckb8cbe30yWfle7MzbkCKymzaHUbSK/pmStX2cnROLV/f96FcUqLkzI37qCXhl72IKqxflLRxN8pRUZf6EaCDfhFdV00U5o1RJ/aLrJqWXpuWM4kPzZTBW0wdOyivlp4hUEppcV3kec= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=m4oNiGw7; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="m4oNiGw7" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389027; x=1776925027; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9iMzZFYH77hQZH4clEdGsh0IA21gqz3IWXYP8hKdjBA=; b=m4oNiGw7EELvB2IMfdwGd8g+uYHaNCJvdkGHZEDOCRZr3BVxU8f4jnoW UXot3OgqrX6pGHkqPyRfJXV3L/hN/0MuAuJgQ7KTiPFaPqlJWdU9+e75D vmaqv7EAu+eROku4ZESdBOStF+xkGggkFnq0DBcgFLaAwectirEO22zTW 2wipD3molp1uXvA8ecA5d+VG9zZMT6n0tQdIRAqBXr0e/86G2eLMeS+XP SR1OBE1wU+X2ibtRyc8N3UGkQuu90zYjAsdzSqSibnHWxkW5ZKCPO4zFS P9xvXJVmr+kgujLC5ypsRvF7G0UQgHYUT8TJwRNvWZwNApqyjJNjbz6By Q==; X-CSE-ConnectionGUID: 83rNbm9aQqWzIX7KlO1IdA== X-CSE-MsgGUID: yln1KK0MQCCRW0uQQQeJuA== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843639" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843639" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:07 -0700 X-CSE-ConnectionGUID: TI/H8bM2QP2Q+GFpaxm/ww== X-CSE-MsgGUID: tk5nFQNIRW+FTjgAXfwqEQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269054" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:06 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Daniel Gabay , Johannes Berg Subject: [PATCH wireless-next 09/15] wifi: iwlwifi: mld: don't do iwl_trans_stop_device twice Date: Wed, 23 Apr 2025 09:16:35 +0300 Message-Id: <20250423091408.f7d86be570d3.Ied68f0c4d126b3b0f1ffd9990bbc43d97f098e24@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited If iwl_mld_load_fw failed, we call iwl_mld_stop_fw which does, among the others, iwl_trans_stop_device. But this is already called from iwl_mld_load_fw's error path. Since we do need the other stuff of iwl_mld_stop_fw to be done also in the error path of iwl_mld_load_fw, just call it there. This also makes the call to iwl_fw_flush_dumps in iwl_mld_op_mope_start redundant, since it is the same as iwl_fw_dbg_stop_sync. Signed-off-by: Miri Korenblit Reviewed-by: Daniel Gabay Reviewed-by: Johannes Berg --- drivers/net/wireless/intel/iwlwifi/mld/fw.c | 4 ++-- drivers/net/wireless/intel/iwlwifi/mld/mld.c | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/fw.c b/drivers/net/wireless/intel/iwlwifi/mld/fw.c index 511df49672b5..76bf83549407 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/fw.c @@ -327,7 +327,7 @@ int iwl_mld_load_fw(struct iwl_mld *mld) return 0; err: - iwl_trans_stop_device(mld->trans); + iwl_mld_stop_fw(mld); return ret; } @@ -502,7 +502,7 @@ int iwl_mld_start_fw(struct iwl_mld *mld) ret = iwl_mld_load_fw(mld); if (IWL_FW_CHECK(mld, ret, "Failed to start firmware %d\n", ret)) { iwl_fw_dbg_error_collect(&mld->fwrt, FW_DBG_TRIGGER_DRIVER); - goto error; + return ret; } IWL_DEBUG_INFO(mld, "uCode started.\n"); diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index 8d788af8dcc8..2f5b6dc8bc62 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.c @@ -425,7 +425,6 @@ iwl_op_mode_mld_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, if (ret) { wiphy_unlock(mld->wiphy); rtnl_unlock(); - iwl_fw_flush_dumps(&mld->fwrt); goto free_hw; } From patchwork Wed Apr 23 06:16:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 884334 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66388267705 for ; Wed, 23 Apr 2025 06:17:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389030; cv=none; b=RQdDZ8FQb/tpme82TiqzYE5vpnvEyUSwsB8vXZ76pVOIX9n1iv27JX/NW0tgzjTNpPrp2gqq/gLsC8eDqv6pTtnQDym9pKE6P5UuV5BChbnc/r/rn1D2/c3NT/3TZ6r6k+oWVU2VMtb6YzBBuEwKb0Hzso6q6vVZtcZr4RrYJPI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389030; c=relaxed/simple; bh=my1n6X125pRxeSgwvG3O82GWFlZ1PI6UkcptXzh6dOY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=krPHplz6aHv2vfcc1Z6NhhqthQl3qCztZ+xg16alNCKNIuifytyM08nIFIf3MFucBezL9XtuKk4jkoByUknzDIqOgC0Fc0obMg8ip1jXflN+S8dhtlaCVu8cDCDVTcWWUFtkFEAFdqkuFz4KgOSGEwd/g8X83UA/DF1/alZYDkE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ELdnyiim; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ELdnyiim" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389028; x=1776925028; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=my1n6X125pRxeSgwvG3O82GWFlZ1PI6UkcptXzh6dOY=; b=ELdnyiimE7FW2cg/zMp4ZmOgzXSUi9xXtOUOq+2sxNy1qSdh2UdiDoJ0 WikqzZOGdAWtFM/qu0qAAMAEMlnG1P/MTnKE1a0S582n2oCEI+dD35sr0 0mm/NDv7TL21a37fb4xJ0IC7i7TW+KD/H3KNDmGh6Qvy2vvAHnu+Mysey rLaUfCgmmOXI2yYIyE1DzTN/tS7wYWdV6mQsof3K40OOmXu8PwGyWy1lZ 1X3tVhgm128+zM7qIbWcS9gBlO7Oh4xlaEIunL9H+Q/hx+8ZJpWAOnGnn is8m/lWbXBKw2RC07T7LRP3huNouD5c3kruaanhUEhttk3+6oxOgRnrvo Q==; X-CSE-ConnectionGUID: hkKYH+i2SO2N/TVWjtyAEA== X-CSE-MsgGUID: yUQWffFQRJWuz4Ng9e6ESg== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843642" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843642" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:08 -0700 X-CSE-ConnectionGUID: FtzemmxVQsK2c7bKKmQafA== X-CSE-MsgGUID: vU+RGhIUSsSLx7Rmvgl1nw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269060" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:07 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg Subject: [PATCH wireless-next 10/15] wifi: iwlwifi: mld: refactor purging async notifications Date: Wed, 23 Apr 2025 09:16:36 +0300 Message-Id: <20250423091408.e98aed77e836.Id9f858d9d553d406a24165b09db830df111befce@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited To cancel all async notifications, we need to: - cancel async_handlers_wk - empty async_handlers_list Instead of having the callers to do both, do it in iwl_mld_purge_async_handlers_list and rename it accordingly. Note that the caller iwl_cleanup_mld didn't cancel the work, but it is harmless. Signed-off-by: Miri Korenblit Reviewed-by: Johannes Berg --- drivers/net/wireless/intel/iwlwifi/mld/mac80211.c | 10 +++------- drivers/net/wireless/intel/iwlwifi/mld/mld.h | 4 ++-- drivers/net/wireless/intel/iwlwifi/mld/notif.c | 6 +++++- drivers/net/wireless/intel/iwlwifi/mld/notif.h | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c index 6851064b82da..e127f29839ea 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c @@ -540,14 +540,10 @@ void iwl_mld_mac80211_stop(struct ieee80211_hw *hw, bool suspend) if (!suspend || iwl_mld_no_wowlan_suspend(mld)) iwl_mld_stop_fw(mld); - /* HW is stopped, no more coming RX. OTOH, the worker can't run as the - * wiphy lock is held. Cancel it in case it was scheduled just before - * we stopped the HW. + /* HW is stopped, no more coming RX. Cancel all notifications in + * case they were sent just before stopping the HW. */ - wiphy_work_cancel(mld->wiphy, &mld->async_handlers_wk); - - /* Empty out the list, as the worker won't do that */ - iwl_mld_purge_async_handlers_list(mld); + iwl_mld_cancel_async_notifications(mld); /* Clear in_hw_restart flag when stopping the hw, as mac80211 won't * execute the restart. diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.h b/drivers/net/wireless/intel/iwlwifi/mld/mld.h index 5eceaaf7696d..c436eb4a6a6f 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.h +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.h @@ -299,10 +299,10 @@ iwl_cleanup_mld(struct iwl_mld *mld) iwl_mld_low_latency_restart_cleanup(mld); - /* Empty the list of async notification handlers so we won't process + /* Cancel the async notification handlers so we won't process * notifications from the dead fw after the reconfig flow. */ - iwl_mld_purge_async_handlers_list(mld); + iwl_mld_cancel_async_notifications(mld); } enum iwl_power_scheme { diff --git a/drivers/net/wireless/intel/iwlwifi/mld/notif.c b/drivers/net/wireless/intel/iwlwifi/mld/notif.c index b8a3204c7847..10f1bee89205 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/notif.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/notif.c @@ -662,10 +662,14 @@ void iwl_mld_async_handlers_wk(struct wiphy *wiphy, struct wiphy_work *wk) } } -void iwl_mld_purge_async_handlers_list(struct iwl_mld *mld) +void iwl_mld_cancel_async_notifications(struct iwl_mld *mld) { struct iwl_async_handler_entry *entry, *tmp; + lockdep_assert_wiphy(mld->wiphy); + + wiphy_work_cancel(mld->wiphy, &mld->async_handlers_wk); + spin_lock_bh(&mld->async_handlers_lock); list_for_each_entry_safe(entry, tmp, &mld->async_handlers_list, list) { iwl_mld_log_async_handler_op(mld, "Purged", &entry->rxb); diff --git a/drivers/net/wireless/intel/iwlwifi/mld/notif.h b/drivers/net/wireless/intel/iwlwifi/mld/notif.h index 2eaa1d4e138e..adcdd9dec192 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/notif.h +++ b/drivers/net/wireless/intel/iwlwifi/mld/notif.h @@ -15,7 +15,7 @@ void iwl_mld_rx_rss(struct iwl_op_mode *op_mode, struct napi_struct *napi, void iwl_mld_async_handlers_wk(struct wiphy *wiphy, struct wiphy_work *wk); -void iwl_mld_purge_async_handlers_list(struct iwl_mld *mld); +void iwl_mld_cancel_async_notifications(struct iwl_mld *mld); enum iwl_mld_object_type { IWL_MLD_OBJECT_TYPE_NONE, From patchwork Wed Apr 23 06:16:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 884333 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 407DA266F0A for ; Wed, 23 Apr 2025 06:17:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389034; cv=none; b=U9ijujIssg9/xtzbAj+TUAL/LLkVXCSBx+wyUamj9SLrAGVJR+lrexBrWNpThV0jXhtAhTKjXRcVLiMXQSNxRoooMa+lrU84/YJfArIyItYkpPHVNrNJSZMIHV/Rj61FbQhmJ4n53BmnQVJhsFQn6lNk6w+JWyDleAPxjtJVA4w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389034; c=relaxed/simple; bh=TDgUanoiDYEsLusK4sJsMvwRnzTz2Q1fOhniUcB4p7I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=afATE5jjfKsdu45YsqXM5zoXAiZ/BWCfKOkQZb+ELeBoTLJW/W8jos7fAMrO1u9K0ma9TOrL3n9NmMUpjbwp0fwSLA00d5d1yd/tb3qXZn6ZSnbSKMVMoRJpvsTxureGtZ7pHng0Q8X3NjvwA9kH1aP/gNhXBBjBd9A+XGIWjNk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=UNn3FQaP; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="UNn3FQaP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389031; x=1776925031; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=TDgUanoiDYEsLusK4sJsMvwRnzTz2Q1fOhniUcB4p7I=; b=UNn3FQaPAD2Zid2B1FbmakLW15TmGArnUJzGkimXB2U4bHJZYOfvZbpm 0dbgX0fmWnIfR5zEzuCQeK40LZ3qxEGAGFqLzHXlXa4MSI+tSVtw+RKez QEfWAhcR/P0lnG6XoupDOxFxNyyauG7jtm6rRbWjD+uZ6NMuIqaEifBWo qNzRXt9P/aBfP1zBsAHxNoIuXGta3Hf8f/5ME7Wd8Ard1Y68aquhkCcA7 Q/BT5me0imZuEtESzUU0LopzO97XCEMVELMATO8LxRc7sLRzsDAEDUoIg ZDJeTr07HNaWBy3Cph5giDi9GWRblfiSgBWw7MmlHoEiNOrS6JnDn615C g==; X-CSE-ConnectionGUID: iitpIaKCQFmunQX8MUBlkQ== X-CSE-MsgGUID: M9DGivDgRVOlVJSl5tZLAw== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843651" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843651" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:11 -0700 X-CSE-ConnectionGUID: PbFFVQAeTO+gMRwUx0TsKQ== X-CSE-MsgGUID: OaMNUzXSTYWwV/4qjd6O6A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269085" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:10 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Emmanuel Grumbach , Johannes Berg Subject: [PATCH wireless-next 12/15] wifi: iwlwifi: mld: inform trans on init failure Date: Wed, 23 Apr 2025 09:16:38 +0300 Message-Id: <20250423091408.c7e178748ef7.Ifaf15bdd8ef8c59e04effbd2e7aa0034b30eeacb@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited If starting the op mode failed, the opmode memory is being freed, so trans->op_mode needs to be NULLified. Otherwise, trans will access already freed memory. Call iwl_trans_op_mode_leave in that case. Signed-off-by: Miri Korenblit Reviewed-by: Emmanuel Grumbach Reviewed-by: Johannes Berg --- drivers/net/wireless/intel/iwlwifi/mld/mld.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index 562d320b2c3a..87624730fb50 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.c @@ -425,7 +425,7 @@ iwl_op_mode_mld_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, if (ret) { wiphy_unlock(mld->wiphy); rtnl_unlock(); - goto free_hw; + goto err; } /* We are about to stop the FW. Notifications may require an @@ -471,7 +471,8 @@ iwl_op_mode_mld_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, iwl_mld_leds_exit(mld); free_nvm: kfree(mld->nvm_data); -free_hw: +err: + iwl_trans_op_mode_leave(mld->trans); ieee80211_free_hw(mld->hw); return ERR_PTR(ret); } From patchwork Wed Apr 23 06:16:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 883734 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0B95266EE0 for ; Wed, 23 Apr 2025 06:17:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389035; cv=none; b=NBTR5qynEAvsr84Bq7iuOBl2ZWbIliCffqifzLZ1zzfLvCmRB+WVjd5SV0XgLPGfFdOC/BlRXR9y1FfGBXcWz2FQTSLSs/ecuMskKOp5fr4zoE/x1WvAocjGi758Lfgl0X6+2Ug+QFNs9Rg7OWjJg3VtFjWBCjW77iX229G2Fak= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389035; c=relaxed/simple; bh=Gj2IPnVdT+xs7I66m+zJJJtlcsN6BUGv1DzFs0yhaYo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DF+3T6tyccNItzz4Pf5UW7mT3VKTz1pMoQt1znB2fAdM6oHRLKU9MCJN6/6zg9zjB65j2M0VNDIlbj9qiV7fHT+Fm5Syt09zrgxCSxXc1qjQ0A0WzSOApVlsYH2bHOKVJwLERVwbDcbrg8+2+yFVbqEeomycaiBgkay/cevpmag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=U8J+6j8p; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="U8J+6j8p" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389032; x=1776925032; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Gj2IPnVdT+xs7I66m+zJJJtlcsN6BUGv1DzFs0yhaYo=; b=U8J+6j8p6SV25rgfY2JlsSwtGTh95vRQGhKED/Owo+nWAlZHjQMfxpRV cTo0MhVvbJStegstRTF4IafdkKZOeZKQ479tgXuNl38K+VaeBqmrhh0qL ARuLaOVo2/3ZI+s81B39OOENS7fSYrnhaJXTLJfk+XhpVUBGqLmzq52s4 MhUU+tqGoj+qrRmcGitMCocutpxXJelKsZ+STpCyYjs/NJiW+xu6wf3TH TIULT633KKoqWvh48Vmn7S5+dO9NagwZU5yazaY7i2XLWkqtzVpdjU9x3 4gi8CgE5nQhOunTjUQwYiCxIgZg1sGRBkGqthL1PfM36njKZqUFKBHJ6T g==; X-CSE-ConnectionGUID: pTqPQVezQcedjrK3PR/Efw== X-CSE-MsgGUID: /n7716sXS9aSbFOGDFjAIw== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843657" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843657" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:12 -0700 X-CSE-ConnectionGUID: nlvNSh3FQzibCKeNFwJSJQ== X-CSE-MsgGUID: BmF9tRYCTfK9XMgViyeKog== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269092" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:11 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Emmanuel Grumbach Subject: [PATCH wireless-next 13/15] wifi: iwlwifi: update the PHY_CONTEXT_CMD API Date: Wed, 23 Apr 2025 09:16:39 +0300 Message-Id: <20250423091408.0e1324ae07b7.I6d8ffda2b00c817d3f784241dd61cfe533e12d93@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Emmanuel Grumbach A new field is added, no impact on the current flows. Signed-off-by: Emmanuel Grumbach Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h b/drivers/net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h index 4d8a12799c4d..4594a7c94bd6 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ /* - * Copyright (C) 2012-2014, 2018, 2020-2024 Intel Corporation + * Copyright (C) 2012-2014, 2018, 2020-2025 Intel Corporation * Copyright (C) 2013-2015 Intel Mobile Communications GmbH * Copyright (C) 2016-2017 Intel Deutschland GmbH */ @@ -146,6 +146,7 @@ struct iwl_phy_context_cmd_v1 { * @sbb_ctrl_channel_loc: location of the control channel * @puncture_mask: bitmap of punctured subchannels * @dsp_cfg_flags: set to 0 + * @secondary_ctrl_chnl_loc: location of secondary control channel * @reserved: reserved to align to 64 bit */ struct iwl_phy_context_cmd { @@ -164,11 +165,13 @@ struct iwl_phy_context_cmd { }; }; __le32 dsp_cfg_flags; - __le32 reserved; + u8 secondary_ctrl_chnl_loc; + u8 reserved[3]; } __packed; /* PHY_CONTEXT_CMD_API_VER_3, * PHY_CONTEXT_CMD_API_VER_4, * PHY_CONTEXT_CMD_API_VER_5, - * PHY_CONTEXT_CMD_API_VER_6 + * PHY_CONTEXT_CMD_API_VER_6, + * PHY_CONTEXT_CMD_API_S_VER_7 */ #endif /* __iwl_fw_api_phy_ctxt_h__ */ From patchwork Wed Apr 23 06:16:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 884332 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3814C266F19 for ; Wed, 23 Apr 2025 06:17:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389035; cv=none; b=O3IOXuvddOzNu2A0QVmRF5kqe3vt26hd8lpPnRfvWROfZ+9YlIalEKxIUOSjIVqbShUHYcVsQPdh0PIr+RTovMuum4iH1MhHGXXc+wdyzcKvDOo5vaW+vVp2PM5Np3Acj7JNbsaRJDpK+6sx5TBoSpMqAXYOqjJtPwrAsUit/Rk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389035; c=relaxed/simple; bh=ajIoWqSDuHD0IENlyOMoZsh9q4twXWKOjizwB4dtUDQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ZZTMl1Nkqdd2XsOPqUpT3+kmmtRo1C837D+LLIwmgFYA/maXRy2kVqhgrfvBQSYp9k/wPajizjzv/FJJyAw0VvNdRODfwI78QCmOzWi8R4AKSOFOSenVJgeI4VJrHD+yeajPurnmHM06IYq4OwsEQu7/xEvUA3dD7GjzKnfsmtk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=mapKemm0; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="mapKemm0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389034; x=1776925034; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ajIoWqSDuHD0IENlyOMoZsh9q4twXWKOjizwB4dtUDQ=; b=mapKemm0cUe+w+JX4od25EEttQHJK1qSdrpiwTNfXF1x9Xt7A0GQC/vA 25ykvHI5vEGo3vrlGiUAoDBb8IG2/dgYflEu7GzuzFAoAaYz4ZfNcE+vd tHf8Fvnx24tRpdZhiQRcQ4KIyEgwpIuZT9LwTIubprSjjV87htKGZHps7 qP/Jo/rP5LiOYPwiVllOM5silecrC42gIkS3v2XbVj2c2RszXtsnHhkXO 20H2uMA3QKUC9Cqa954Hqf/KLzRgGnZ2+0Uh7DjfN6djbYjNTbpUWGHvl W1fsVgDmVHlwg1TGsJ+LjzdHp/Mvl2/YT2/T4/iB9SYzC7vfF9g3NxYb+ g==; X-CSE-ConnectionGUID: dsCVoQm6TbuERZV+3KZoqA== X-CSE-MsgGUID: bFIkVW6kS1SnrvG3GibEIA== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843661" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843661" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:14 -0700 X-CSE-ConnectionGUID: bdBvA8TXTqGyOfuPel/70g== X-CSE-MsgGUID: W7+YxjVuRMaMVFGUq55tlg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269096" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:13 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg Subject: [PATCH wireless-next 14/15] wifi: iwlwifi: mld: tests: simplify le32 bitfield handling Date: Wed, 23 Apr 2025 09:16:40 +0300 Message-Id: <20250423091408.9155a412dcc7.I8330ca413d6bdf953e79361ac50939176bcc4e6e@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg We can use le32_encode_bits() instead of cpu_to_le32() combined with FIELD_PREP(). Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/tests/agg.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/tests/agg.c b/drivers/net/wireless/intel/iwlwifi/mld/tests/agg.c index 1fd664be1a7c..29b0248cec3d 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/tests/agg.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/tests/agg.c @@ -2,7 +2,7 @@ /* * KUnit tests for channel helper functions * - * Copyright (C) 2024 Intel Corporation + * Copyright (C) 2024-2025 Intel Corporation */ #include #include @@ -474,14 +474,14 @@ static struct iwl_rx_mpdu_desc *setup_mpdu_desc(void) KUNIT_ALLOC_AND_ASSERT(test, mpdu_desc); mpdu_desc->reorder_data |= - cpu_to_le32(FIELD_PREP(IWL_RX_MPDU_REORDER_BAID_MASK, - param->rx_pkt.baid)); + le32_encode_bits(param->rx_pkt.baid, + IWL_RX_MPDU_REORDER_BAID_MASK); mpdu_desc->reorder_data |= - cpu_to_le32(FIELD_PREP(IWL_RX_MPDU_REORDER_SN_MASK, - param->rx_pkt.sn)); + le32_encode_bits(param->rx_pkt.sn, + IWL_RX_MPDU_REORDER_SN_MASK); mpdu_desc->reorder_data |= - cpu_to_le32(FIELD_PREP(IWL_RX_MPDU_REORDER_NSSN_MASK, - param->rx_pkt.nssn)); + le32_encode_bits(param->rx_pkt.nssn, + IWL_RX_MPDU_REORDER_NSSN_MASK); if (param->rx_pkt.old_sn) mpdu_desc->reorder_data |= cpu_to_le32(IWL_RX_MPDU_REORDER_BA_OLD_SN); From patchwork Wed Apr 23 06:16:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 883733 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A2C21F4CAB for ; Wed, 23 Apr 2025 06:17:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389037; cv=none; b=LFiwNnmgxqLBcWOxPVEKchNJaJ6QPk14ofTE6bztKajIl9BRkom3KffHAQFBq2uWP1UvRx7YW7IbFr51U6aE7qdS3LKqJIGSS+Hn86haHRxoB7EwAbMXDrbB0B1j6iN7jMF8ivu2zyi4tVpQNxvw5WSEtw+cUkB94V0BCSlTrho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745389037; c=relaxed/simple; bh=0UaAhWKXTpLAI0s1PCxxttiASBp3yhdtleOrcP3Sizc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TZg4YQi+AblO6fS5b/NZCXs+OTBAi+DFF60L7MfDAorZV8if2u2dm3LiSPnEk5NDcJxdb9pz/hs/kVTJTxWpeMfPzDoLULzKwl3KADMO6bsjWy1MiLBG4A283MdvK/7JH8BOMNnIB8v0zGWnzypkFRSXoFGSITJkUezeq5Aq10o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=HIpL3tzv; arc=none smtp.client-ip=192.198.163.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="HIpL3tzv" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745389035; x=1776925035; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0UaAhWKXTpLAI0s1PCxxttiASBp3yhdtleOrcP3Sizc=; b=HIpL3tzvAPsReT6Qh0f86i7XOda+8eAryMSq+vInnOvBWNMdCI6NI3Il DxemIIjL478MNGFwHQKAd2FuLP6iloYM0b6Da+MReibdv7+WizFvjEljT txqcHY1y0XccyPH+YY5NzD1sH17yc4OoGEzUpZTePIuCpxGN2vw25Wkli 2lREHgYBHB4urkIaJnzD63/pFI5iAoZf0RCSDnY3m0KpvZlSzgTqD8Olf Lm2OO1vT+jf7KWXWjyM+UEZlcFLA2fcMmZgEQnN/HiS46PrUsTJtxWTNi miffp/QWyxJ7dd5f4DodiJgdb6yxSFjQr6OHSJAx6MV7Kxctdn2Tx1UGV w==; X-CSE-ConnectionGUID: 9GCnx9xPRGuNPIMti1QDOQ== X-CSE-MsgGUID: BxS6E3e2QYOECHoz9C4sfw== X-IronPort-AV: E=McAfee;i="6700,10204,11411"; a="46843669" X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="46843669" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:15 -0700 X-CSE-ConnectionGUID: mvtkPlozRnmyEVzdYsoeRA== X-CSE-MsgGUID: h30LkdqLQZ6XyMIreuN8BA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,233,1739865600"; d="scan'208";a="163269101" Received: from weis0040.iil.intel.com ([10.12.217.108]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2025 23:17:14 -0700 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Emmanuel Grumbach Subject: [PATCH wireless-next 15/15] wifi: iwlwifi: set step_urm in transport and not in the opmodes Date: Wed, 23 Apr 2025 09:16:41 +0300 Message-Id: <20250423091408.4e288f7897be.I0c8f792ea2ed6967f8c6d8181f9c5f74bbec7d18@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> References: <20250423061641.2302908-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited This has nothing to do with the opmode. Set it in the transport layer instead. Signed-off-by: Miri Korenblit Reviewed-by: Emmanuel Grumbach Tested-by: Emmanuel Grumbach --- drivers/net/wireless/intel/iwlwifi/mld/fw.c | 4 ---- drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 5 ----- drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c | 5 +++++ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/fw.c b/drivers/net/wireless/intel/iwlwifi/mld/fw.c index 14aacfbab5c8..6e9af37fb86d 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/fw.c @@ -266,10 +266,6 @@ static int iwl_mld_run_fw_init_sequence(struct iwl_mld *mld) if (ret) return ret; - mld->trans->step_urm = - !!(iwl_read_umac_prph(mld->trans, CNVI_PMU_STEP_FLOW) & - CNVI_PMU_STEP_FLOW_FORCE_URM); - ret = iwl_pnvm_load(mld->trans, &mld->notif_wait, &mld->fw->ucode_capa); if (ret) { diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c index 2b5a62604fc4..f67348acd5f0 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c @@ -651,11 +651,6 @@ static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm) iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_AFTER_ALIVE, NULL); - if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_BZ) - mvm->trans->step_urm = !!(iwl_read_umac_prph(mvm->trans, - CNVI_PMU_STEP_FLOW) & - CNVI_PMU_STEP_FLOW_FORCE_URM); - /* Send init config command to mark that we are sending NVM access * commands */ diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c index 3ece34e30d58..bfa050d987db 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c @@ -373,6 +373,11 @@ void iwl_trans_pcie_gen2_fw_alive(struct iwl_trans *trans) iwl_pcie_get_rf_name(trans); mutex_unlock(&trans_pcie->mutex); + + if (trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_BZ) + trans->step_urm = !!(iwl_read_umac_prph(trans, + CNVI_PMU_STEP_FLOW) & + CNVI_PMU_STEP_FLOW_FORCE_URM); } static bool iwl_pcie_set_ltr(struct iwl_trans *trans)