Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1248881pxb; Wed, 10 Feb 2021 04:03:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJxdTZ9Y7Lx1eS+kq3fYn07Qaoa3EBJMe3A5cM/fqL6DiVKfuk67uFQ19crX9XjbmDx8wVe3 X-Received: by 2002:a17:906:8507:: with SMTP id i7mr2603288ejx.175.1612958608056; Wed, 10 Feb 2021 04:03:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612958608; cv=none; d=google.com; s=arc-20160816; b=tgmi6uXPTQxk10TsW7m3RDwhduRRQlKUGbyuxlqgXyhdkd1mp7WIzOrrNCZbo9ee34 qoalCYACO48ORGX84vvMuyApgQB6oOyf0/iV3ChnSKwKcIlTgasp7ofbsH5bzgKaIyPE c99bA3xJvf9QjnoDQ+43SbdKIqTiQ9Kol3CVyh6kO4CN1v4KPHTFI889ZKB81vxKw8f1 4jf9yGaYxTM4Fhn9DR+wjk5hglvmXMTEZcS5VflCLtbtxL66gE+VxUYYgSIpQElxZK2J vCzXOrzfj4QDPLZCiWljMUQGDhn6QWX9AY4suaxGwxU4iHX6n6/ZqMNGotgJoQDPqiof Vw0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from; bh=d8x09pTf4NqWPeFjV1uZimW4TRheio+PjiDS1W+uo/c=; b=jwsZRRip8meRbefC9pl96GFeK//mxBuPkrn67BhHgbkmsH6+swHMTJ/ZyndPDv0s0H t0GYTSDm9Z0FE7BxAfISu+DHVXRjveV+Z4fCrXmaSIQxpd9jGjnzF0LIb+R+RDaOYF13 i7HwgCu0GhjoQJBKFG/qoUvMXQxhw4SLsp5Ib192k/x20hDsu+mMBQUJvjIKE55NWREM oc87sJCigKZ9SQdTMZgT/MbMqdxQiB1bjvvK2MqWUV+S16NmlN002nDxJpBcOF5yncZp jbpqVNPBdxVWG6726+CQPFVhIN49/gU+WgG03atVA8fgWflHnvHMAkPy1fO6Gr7/ERAq PH2w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f7si1386772edd.574.2021.02.10.04.03.05; Wed, 10 Feb 2021 04:03:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231186AbhBJL76 (ORCPT + 99 others); Wed, 10 Feb 2021 06:59:58 -0500 Received: from paleale.coelho.fi ([176.9.41.70]:44982 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S231334AbhBJL5k (ORCPT ); Wed, 10 Feb 2021 06:57:40 -0500 Received: from 91-156-6-193.elisa-laajakaista.fi ([91.156.6.193] helo=redipa.ger.corp.intel.com) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1l9o6r-0049Ur-Rk; Wed, 10 Feb 2021 13:56:42 +0200 From: Luca Coelho To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org Date: Wed, 10 Feb 2021 13:56:31 +0200 Message-Id: X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210210115637.276676-1-luca@coelho.fi> References: <20210210115637.276676-1-luca@coelho.fi> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on farmhouse.coelho.fi X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, TVD_RCVD_IP autolearn=ham autolearn_force=no version=3.4.4 Subject: [PATCH v2 06/12] iwlwifi: mvm: send stored PPAG command instead of local Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Luca Coelho Some change conflicts apparently cause a confusion between a local variable being used to send the PPAG command and the introduction of a union for this command. Most parts of the local command were never copied from the stored data, so the FW was getting garbage in the tables instead of getting valid values. Fix this by completely removing the local and using only the union that we have stored in fwrt. Signed-off-by: Luca Coelho Fixes: f2134f66f40e ("iwlwifi: acpi: support ppag table command v2") Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c index 57471ab2f5ef..8675a78ff9e9 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c @@ -993,7 +993,6 @@ int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm) { u8 cmd_ver; int i, j, ret, num_sub_bands, cmd_size; - union iwl_ppag_table_cmd ppag_table; s8 *gain; if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_SET_PPAG)) { @@ -1006,15 +1005,13 @@ int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm) return 0; } - ppag_table.v1.enabled = mvm->fwrt.ppag_table.v1.enabled; - cmd_ver = iwl_fw_lookup_cmd_ver(mvm->fw, PHY_OPS_GROUP, PER_PLATFORM_ANT_GAIN_CMD, IWL_FW_CMD_VER_UNKNOWN); if (cmd_ver == 1) { num_sub_bands = IWL_NUM_SUB_BANDS; gain = mvm->fwrt.ppag_table.v1.gain[0]; - cmd_size = sizeof(ppag_table.v1); + cmd_size = sizeof(mvm->fwrt.ppag_table.v1); if (mvm->fwrt.ppag_ver == 2) { IWL_DEBUG_RADIO(mvm, "PPAG table is v2 but FW supports v1, sending truncated table\n"); @@ -1022,7 +1019,7 @@ int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm) } else if (cmd_ver == 2) { num_sub_bands = IWL_NUM_SUB_BANDS_V2; gain = mvm->fwrt.ppag_table.v2.gain[0]; - cmd_size = sizeof(ppag_table.v2); + cmd_size = sizeof(mvm->fwrt.ppag_table.v2); if (mvm->fwrt.ppag_ver == 1) { IWL_DEBUG_RADIO(mvm, "PPAG table is v1 but FW supports v2, sending padded table\n"); @@ -1042,7 +1039,7 @@ int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm) IWL_DEBUG_RADIO(mvm, "Sending PER_PLATFORM_ANT_GAIN_CMD\n"); ret = iwl_mvm_send_cmd_pdu(mvm, WIDE_ID(PHY_OPS_GROUP, PER_PLATFORM_ANT_GAIN_CMD), - 0, cmd_size, &ppag_table); + 0, cmd_size, &mvm->fwrt.ppag_table); if (ret < 0) IWL_ERR(mvm, "failed to send PER_PLATFORM_ANT_GAIN_CMD (%d)\n", ret); -- 2.30.0