Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3961210pxb; Mon, 8 Feb 2021 04:45:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJxcQxBxHZR35TeeM0UJBJD6w3c2h1tJpY51YXyeWYhRpoTlGqxAeJMoI/hE1t4BgT99zaud X-Received: by 2002:a17:906:5d0b:: with SMTP id g11mr16549991ejt.542.1612788321863; Mon, 08 Feb 2021 04:45:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612788321; cv=none; d=google.com; s=arc-20160816; b=G/7JzlvzGE6zPHW1R3HJomJUrkOFsnkwQB3gMltREgaHhjbEWmZFRF2+q/X29j5iPI 6EePxOZQvZZH0MYfCBfo3tiKCYCHAfhin5axRXOxKym05jPz53MV63wPITTnoWnMPrP8 XLgMN08pX+LM6z6bU6JtQrllCelf/uO1Ggea3lE34UnPXQcOOiRgwNS40zJ0EGEqxfsz FfZsBDnEWLOzRtB558s+mMx8kAGXhGX6N+4SWeCNmKaE5j8ZcCGtUuR/fVc5sIeNo/Fo ygngCzT2SqlfjQJJ40iuTxt5DNqtsp7GtrtfOyKovmEtd9xbwLB4l2T0nofZpnWpC1cD w5cg== 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=AUoeY9ukfVSFL3xo9oTAuqwoIlGHS8NTKDwSWVwtqA4=; b=m8/JAiGW9S9YH8PCpxPTT9aEvoi+kykePVp5x2QICbuKUGGNPFpwNIOJTdoxlm/nLh qpfYD6MZnvCEPua7B7trzL0uUsMXmWX10aIW+r59b13TMV6ShqkjyNolwMW9ND4OWEIc Gh2MIUnZGuDDQnZHCNdMlim4iYPL88QZ3dgPhJ7qWbYl+RU9E6V0VDlPuq+k2sAl2uix 2NVUC5wbLoyoKraOzkNeeKU/E6NR7rgImkTGc9DlSbPLZegYfmplzTM7vqFxL///p9S4 dluDsi245bn80iBNzDpsBx3Al4rlOJo00SzQiFNfxi9uX6n1rhQ+YV3yuXp2DzhZdlSx fVUw== 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 g8si5183547edf.49.2021.02.08.04.44.59; Mon, 08 Feb 2021 04:45:21 -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 S232448AbhBHMoC (ORCPT + 99 others); Mon, 8 Feb 2021 07:44:02 -0500 Received: from paleale.coelho.fi ([176.9.41.70]:44376 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232475AbhBHMlr (ORCPT ); Mon, 8 Feb 2021 07:41:47 -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 1l95qJ-0047MN-Sv; Mon, 08 Feb 2021 14:40:40 +0200 From: Luca Coelho To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org Date: Mon, 8 Feb 2021 14:40:28 +0200 Message-Id: X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210208124034.1933780-1-luca@coelho.fi> References: <20210208124034.1933780-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 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 0af4443332b8..58a2df4d4fc8 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