Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp167714pxb; Thu, 13 Jan 2022 04:24:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJx1tpY9jN/7tlv8L4E0UbNCm9I9rKXMPzLW003nmrm/K2Mf5+tb3TadocKetzJ4YDl+IH1v X-Received: by 2002:aa7:dc14:: with SMTP id b20mr3813606edu.133.1642076682722; Thu, 13 Jan 2022 04:24:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642076682; cv=none; d=google.com; s=arc-20160816; b=VWhzFqTqJJDejVVgQZqfTaDL8CZblsi9nQSlPFlVYrUENL3apeQ33ZfY7B4WmsB7TH HY6X/NrFuGCaMauceBlH1DBHRfJxb4LqmvMy7wPOK/5lAnfR3fLatGzeFdmn6Bnpzupv uJiNH18ASUh4/vGnlxdH5Htpg88Tui11JDqGtlwcliPspqZygIH8kLoHiGeluimf2sNP JLmtWSZ6IE5OcgLb5qOjx76o+plbhQbX2QaCLiS5GVBle7qnYk9Z91lwDl+46SqMa1Nw OXIzXmsYBWYsZRabYbDR0TpyaLHGNrp9rIppQwH5c0bCteB3buVE3h2OxK5cAoezyVdY qDmQ== 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 :message-id:date:cc:to:from; bh=7t2POokIgA4EaSiT+C6LSRZYWP5QTpPNN/SrQIAYy2Y=; b=h3jEBwadiKRPvUeJtkx2SPvv1Gsaq2nrtX1iHj0cZtAAXrSVsgShbDBYEWXDPAmXn8 VDoIVaf8UwwRMiu9+Az7Jm0zE1hL+TgipRC5L3drUWYclBvcLYxQFiOVuT5APy84hm/6 27Q9jQtavf2FmbX0s/UziGvIBJin4fOXnPHV7lIcn8ajAhkACJzAeGzQOoaOKF+KtdLu eb2sBY2rT5s4hvbsvM2KcT1x/RdHwqj7nOl3Sin74HRdcRqui7J9OS4+hRCtmqf/AN+Q TjiYSPeANNcnXVRx2cqOJgPwtB349lsX+nB0XCyHwcxoSUqxwnONcq2hinJUw8Tl54QP JvqQ== 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 kl17si1436873ejc.30.2022.01.13.04.24.25; Thu, 13 Jan 2022 04:24:42 -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 S233082AbiAMImp (ORCPT + 71 others); Thu, 13 Jan 2022 03:42:45 -0500 Received: from paleale.coelho.fi ([176.9.41.70]:52430 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S231756AbiAMImp (ORCPT ); Thu, 13 Jan 2022 03:42:45 -0500 Received: from 91-155-254-253.elisa-laajakaista.fi ([91.155.254.253] helo=kveik.ger.corp.intel.com) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1n7vgv-001bSo-UZ; Thu, 13 Jan 2022 10:42:42 +0200 From: Luca Coelho To: kvalo@kernel.org Cc: luca@coelho.fi, linux-wireless@vger.kernel.org, lenb@kernel.org, johannes@sipsolutions.net Date: Thu, 13 Jan 2022 10:42:40 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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.6 Subject: [PATCH] iwlwifi: mvm: check if SAR GEO is supported before sending command Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Luca Coelho Older hardware, for instance 3160, do not support SAR GEO offsets. We used to check for support before sending the command, but when moving the command to the init phase, we lost the check. This causes a failure when initializing HW that do not support this command. Fix that by adding a check before sending the command. Additionally, fix the caller so that it checks for the return value of the iwl_mvm_sar_geo_init() function, which it was ignoring. Fixes: db700bc35703 ("iwlwifi: mvm: check if SAR GEO is supported before sending command") Cc: stable@vger.kernel.org # 5.15+ Reported-by: Len Brown Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c index 6f4690e56a46..6528a6253336 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c @@ -882,6 +882,10 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm) offsetof(struct iwl_geo_tx_power_profiles_cmd_v4, ops) != offsetof(struct iwl_geo_tx_power_profiles_cmd_v5, ops)); + /* not supporting GEO is not a failure, so return 0 */ + if (!iwl_sar_geo_support(&mvm->fwrt)) + return 0; + /* the ops field is at the same spot for all versions, so set in v1 */ cmd.v1.ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_SET_TABLES); @@ -1741,7 +1745,7 @@ int iwl_mvm_up(struct iwl_mvm *mvm) ret = iwl_mvm_sar_init(mvm); if (ret == 0) ret = iwl_mvm_sar_geo_init(mvm); - else if (ret < 0) + if (ret < 0) goto error; ret = iwl_mvm_sgom_init(mvm); -- 2.34.1