Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp399277pxb; Tue, 1 Feb 2022 02:18:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJyAOhogskNG9KDnTVCHs9VNoNS+WOtwS1CkmkJiDcWD9KhQ6FxlHysXV9wkcVV84OwFXy8w X-Received: by 2002:a05:6a00:1892:: with SMTP id x18mr24040925pfh.20.1643710680474; Tue, 01 Feb 2022 02:18:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643710680; cv=none; d=google.com; s=arc-20160816; b=EyvLOoVeDK3RWOrqdC07THMUqu8JsYWcjTBrRhNPIXwzoymx94H7ri2+6gLutAtSYT NIFemXk1cp0kQPrgqpMd4WFVIfqotF34s5F7Zk9k+ue4uawogV31r5wTS6wfsq6beQAs ZTzNsiqoSNt+bOqQwonmxSCjTjrc1UHe/K9+jsAFpxy4GjQdXPHi9aX99ZKNvnXlj9dj TUOVRPR0K5gw7+IOb7C/m6nCuuouI8kHtvKcMsHdbIgPNpuWQpX5EdUwxn4MNPMaAk4h 1boiBPxI+AbzkbJ+G8uhyzFdJu9p6nFwfQ0j39hU1q+k2olDBDlnpkNW/eulo8LaG33u VmVA== 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=T/LCRQp0QCbWo7LdS0RSnHuhrbXM3xYRltIiVT64BKs=; b=zgzz622BAIj7acrc3JmY3ypJmJPjZJOfdRCxetnt7c1d6tffYKPQDJg3h+vq8aPNMh IDBYtwG8DaL3+5WGhYs1GsyLwZRuURebcmzoPHvelURvbhSZtOseDqwQpDjDk/B12E0J F87BA/EsOl2FdaWooj0v7+qHLp4sUW8TJJDlNqeEipkmZWFDP4OZmr+QoMAJIuc/h+Gc Jqcd8Dcy5C7/IsXdjKjxg3w+Ag/R3OB1Sn1hhw9JXPkWG8pjjwDO0kp4Y/CDtF5YZ8Kz wWgBC8nfTy/QnjPpFjFKk1quNBDxXJKB1XqmkV0GJMAjX/GPJqnk46X4FWWURGCN9atL zEfg== 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 n14si16786195pgh.42.2022.02.01.02.17.51; Tue, 01 Feb 2022 02:18:00 -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 S1354546AbiA3JxQ (ORCPT + 71 others); Sun, 30 Jan 2022 04:53:16 -0500 Received: from paleale.coelho.fi ([176.9.41.70]:37908 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1354538AbiA3JxP (ORCPT ); Sun, 30 Jan 2022 04:53:15 -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 1nE6tU-0003JO-Nb; Sun, 30 Jan 2022 11:53:13 +0200 From: Luca Coelho To: kvalo@kernel.org Cc: luca@coelho.fi, linux-wireless@vger.kernel.org Date: Sun, 30 Jan 2022 11:53:01 +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 07/12] iwlwifi: dbg-tlv: clean up iwl_dbg_tlv_update_drams() Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Johannes Berg This function puts a fairly large structure unnecessarily on the stack, and also has a few other very strange things, clean it up a bit. Signed-off-by: Johannes Berg Signed-off-by: Luca Coelho --- .../net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c index 9346cf92322e..5a60aab662d6 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c @@ -769,33 +769,40 @@ static int iwl_dbg_tlv_update_dram(struct iwl_fw_runtime *fwrt, static void iwl_dbg_tlv_update_drams(struct iwl_fw_runtime *fwrt) { - int ret, i, dram_alloc = 0; - struct iwl_dram_info dram_info; + int ret, i; + bool dram_alloc = false; struct iwl_dram_data *frags = &fwrt->trans->dbg.fw_mon_ini[IWL_FW_INI_ALLOCATION_ID_DBGC1].frags[0]; + struct iwl_dram_info *dram_info; + + if (!frags || !frags->block) + return; + + dram_info = frags->block; if (!fw_has_capa(&fwrt->fw->ucode_capa, IWL_UCODE_TLV_CAPA_DRAM_FRAG_SUPPORT)) return; - dram_info.first_word = cpu_to_le32(DRAM_INFO_FIRST_MAGIC_WORD); - dram_info.second_word = cpu_to_le32(DRAM_INFO_SECOND_MAGIC_WORD); + dram_info->first_word = cpu_to_le32(DRAM_INFO_FIRST_MAGIC_WORD); + dram_info->second_word = cpu_to_le32(DRAM_INFO_SECOND_MAGIC_WORD); for (i = IWL_FW_INI_ALLOCATION_ID_DBGC1; i <= IWL_FW_INI_ALLOCATION_ID_DBGC3; i++) { - ret = iwl_dbg_tlv_update_dram(fwrt, i, &dram_info); + ret = iwl_dbg_tlv_update_dram(fwrt, i, dram_info); if (!ret) - dram_alloc++; + dram_alloc = true; else IWL_WARN(fwrt, "WRT: Failed to set DRAM buffer for alloc id %d, ret=%d\n", i, ret); } - if (dram_alloc) { - memcpy(frags->block, &dram_info, sizeof(dram_info)); - IWL_DEBUG_FW(fwrt, "block data after %016x\n", - *((int *)fwrt->trans->dbg.fw_mon_ini[1].frags[0].block)); - } + + if (dram_alloc) + IWL_DEBUG_FW(fwrt, "block data after %08x\n", + dram_info->first_word); + else + memset(frags->block, 0, sizeof(*dram_info)); } static void iwl_dbg_tlv_send_hcmds(struct iwl_fw_runtime *fwrt, -- 2.34.1