Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp399296pxb; Tue, 1 Feb 2022 02:18:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJyDaJ0siVpm0E+JkUmchNWEPGE0xzJSLJJA72Plycy2teI5si8ooQOGCCfLQ7WK7jdQCboe X-Received: by 2002:a62:8853:: with SMTP id l80mr24458555pfd.26.1643710681739; Tue, 01 Feb 2022 02:18:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643710681; cv=none; d=google.com; s=arc-20160816; b=YCpuw3WJzMmzS+dUQz4k66zwYaikORhrMhRpJ9EteChfH2app13IXtzolTcxWe63QT ICxv2eucoM+uOEPNkYwIKarN4R2oYslWIPi2nT9cXjXav0XWu7kWYWPz8rBpkmXvc4Yo TN/VKCu02LlQ/pFK/Eh/Ua0N3iBDjnTPOYrMZ1IWIAR+L35KJRoYpj5zIf46HcKS26bF d3FsLZP7PG4ljLSzyZ30lIG6whBAJmF0IHMKeJsvejsdI4FxzSk1w6YiAZBIBafQlsbb qBRNaY65WoEBPOPA6iRVdIH09hmMlziScRI8hemjtbcLXDu28QuXNslj/iHJVFRiyCi0 mx0Q== 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=9S9SQgZlyQrg++g/Ru9zkYk4aOzV2i47rSt6xyqwPsE=; b=Ty8lqpQ9aCqo/F8PqVSzKYSb+j3dEyRMx4xIzJynQ+N5LfVVnWarqn3jq8FdEfF+KX V7CGup6Fb66qVFTsWpsjyA/OPC70XP/3+0Qqomo3twvg8GB18kDpJbvzAPYSPu4KI4/g c1bzcqG7DdJxvWAtcUXzqTJZXZPlozCGE7kPE780hyY58T+Qjw7+CdG+9EOPkPwGDP1Y wvm9FE8tlcnyELw40abz9QjQFfVzZY4xHG1WthByfpXwHOcnDzApMwysCH0xGuy+QBHx Fa7hz/YE4fE8UVZk6OLiE1JAdS1yTgD29bFqQ6bMUTJOSkHczEtToIyKKpNJvEnwUIhG Utpw== 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 v9si17674694pfu.239.2022.02.01.02.17.52; Tue, 01 Feb 2022 02:18:01 -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 S1354566AbiA3JxS (ORCPT + 71 others); Sun, 30 Jan 2022 04:53:18 -0500 Received: from paleale.coelho.fi ([176.9.41.70]:37916 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1354544AbiA3JxR (ORCPT ); Sun, 30 Jan 2022 04:53:17 -0500 Received: from 91-156-4-210.elisa-laajakaista.fi ([91.156.4.210] helo=kveik.lan) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1nE6tX-0003JO-1S; Sun, 30 Jan 2022 11:53:15 +0200 From: Luca Coelho To: kvalo@kernel.org Cc: luca@coelho.fi, linux-wireless@vger.kernel.org Date: Sun, 30 Jan 2022 11:53:04 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220130095306.790573-1-luca@coelho.fi> References: <20220130095306.790573-1-luca@coelho.fi> 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 10/12] iwlwifi: make some functions friendly to sparse Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Johannes Berg Somehow, sparse cannot track the cond_lock() here properly, but if we return directly from the inner basic block then it doesn't complain. Refactor the code a bit to make it not complain. Signed-off-by: Johannes Berg Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/iwl-io.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-io.c b/drivers/net/wireless/intel/iwlwifi/iwl-io.c index 253eac4cbf59..396f2c997da6 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-io.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-io.c @@ -65,14 +65,14 @@ IWL_EXPORT_SYMBOL(iwl_poll_bit); u32 iwl_read_direct32(struct iwl_trans *trans, u32 reg) { - u32 value = 0x5a5a5a5a; - if (iwl_trans_grab_nic_access(trans)) { - value = iwl_read32(trans, reg); + u32 value = iwl_read32(trans, reg); + iwl_trans_release_nic_access(trans); + return value; } - return value; + return 0x5a5a5a5a; } IWL_EXPORT_SYMBOL(iwl_read_direct32); @@ -135,13 +135,15 @@ IWL_EXPORT_SYMBOL(iwl_write_prph64_no_grab); u32 iwl_read_prph(struct iwl_trans *trans, u32 ofs) { - u32 val = 0x5a5a5a5a; - if (iwl_trans_grab_nic_access(trans)) { - val = iwl_read_prph_no_grab(trans, ofs); + u32 val = iwl_read_prph_no_grab(trans, ofs); + iwl_trans_release_nic_access(trans); + + return val; } - return val; + + return 0x5a5a5a5a; } IWL_EXPORT_SYMBOL(iwl_read_prph); -- 2.34.1