Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp407713ybz; Fri, 17 Apr 2020 03:25:02 -0700 (PDT) X-Google-Smtp-Source: APiQypJEK+I+Fhd4OcuFm88eBkNASDHTqxDWaDbnBraU98/SK8U8k85YtWBVjKMvqcl+Mu7u08V+ X-Received: by 2002:a50:9547:: with SMTP id v7mr2259636eda.324.1587119101993; Fri, 17 Apr 2020 03:25:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587119101; cv=none; d=google.com; s=arc-20160816; b=nncubJO5XijJJHNKt0VXmzjTJlNkcdrAvS3PFDVMcrOI5qTNuu5I5SbD7ksjgjjYKf lY++u6kTFNeoFXPXJ2QIfK687Yu4fQR//G6SgIRxMC97fYEIXvlJQgVRWfOfZ2tPlMJZ EBfds4jCD2Y/tcbZpv4UF0K62LaA5sQxNAn3GMEviIBhk4rUilxm5GQk2uNMJ0veERV+ R11zysemlor4DEPWmo37YmxQcxfQTuIaWpyLRohhRRRen6FpRxJrQUWJXcARmxQbM61k 1jw23AF9cHwRLzQBekVdc5MNX43DVC6ZATX8Dl0ii1WYGqKJn1OlA8sscPEjWsEyPhvS iJmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:cc:to:from; bh=unfpgLTiYpShe05D8Hv2DFJ68VTGYSmMm9n7UxObzcA=; b=HhD6MCgI2XD0hgMuVBF7pXj7TiLoS6708PdSTXscVQzSV8iKs0Z7eRRWKzqYd2rNI9 sugWAB7s3oCeNZJYoGJc/BdTdhF8t/WtGqhLX0MwQSKEBMC+jClNmfPSuTQvfPbPpLWM OZcVsMWacdursXawW+maj/lpx/IlHUao2sTWTuuQ37cxX45RwZGY3O4z6qFtvAn7mAj5 kGtKGuhysXcuu9Urm7Y0+iwOkvRl5kBkBKB4ti1t6y7OYUDhFfMveCWjDGl4iyrqZ3zx QSnc1Oiq6OfyBR70gY7g9lquegcSeXpswk7Vo+wGoviQ9+SlPU6INCnEIr6e6n0uZOyZ fxQg== 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 m4si8907680eje.107.2020.04.17.03.24.38; Fri, 17 Apr 2020 03:25:01 -0700 (PDT) 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 S1729165AbgDQKWE (ORCPT + 99 others); Fri, 17 Apr 2020 06:22:04 -0400 Received: from paleale.coelho.fi ([176.9.41.70]:56632 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729105AbgDQKWB (ORCPT ); Fri, 17 Apr 2020 06:22:01 -0400 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 1jPO8C-000Kba-QN; Fri, 17 Apr 2020 13:21:57 +0300 From: Luca Coelho To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org Date: Fri, 17 Apr 2020 13:21:42 +0300 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200417102142.2173014-1-luca@coelho.fi> References: <20200417102142.2173014-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 10/10] iwlwifi: yoyo: support IWL_FW_INI_TIME_POINT_HOST_ALIVE_TIMEOUT time point Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Shahar S Matityahu Allow the driver to perform dump collection in case of alive notification timeout in yoyo mode. Signed-off-by: Shahar S Matityahu Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 42 ++++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c index 8daa83cdc72c..39c8332be3ac 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c @@ -2329,26 +2329,40 @@ IWL_EXPORT_SYMBOL(iwl_fw_dbg_collect_desc); int iwl_fw_dbg_error_collect(struct iwl_fw_runtime *fwrt, enum iwl_fw_dbg_trigger trig_type) { - int ret; - struct iwl_fw_dump_desc *iwl_dump_error_desc; - if (!test_bit(STATUS_DEVICE_ENABLED, &fwrt->trans->status)) return -EIO; - iwl_dump_error_desc = kmalloc(sizeof(*iwl_dump_error_desc), GFP_KERNEL); - if (!iwl_dump_error_desc) - return -ENOMEM; + if (iwl_trans_dbg_ini_valid(fwrt->trans)) { + if (trig_type != FW_DBG_TRIGGER_ALIVE_TIMEOUT) + return -EIO; - iwl_dump_error_desc->trig_desc.type = cpu_to_le32(trig_type); - iwl_dump_error_desc->len = 0; + iwl_dbg_tlv_time_point(fwrt, + IWL_FW_INI_TIME_POINT_HOST_ALIVE_TIMEOUT, + NULL); + } else { + struct iwl_fw_dump_desc *iwl_dump_error_desc; + int ret; - ret = iwl_fw_dbg_collect_desc(fwrt, iwl_dump_error_desc, false, 0); - if (ret) - kfree(iwl_dump_error_desc); - else - iwl_trans_sync_nmi(fwrt->trans); + iwl_dump_error_desc = + kmalloc(sizeof(*iwl_dump_error_desc), GFP_KERNEL); - return ret; + if (!iwl_dump_error_desc) + return -ENOMEM; + + iwl_dump_error_desc->trig_desc.type = cpu_to_le32(trig_type); + iwl_dump_error_desc->len = 0; + + ret = iwl_fw_dbg_collect_desc(fwrt, iwl_dump_error_desc, + false, 0); + if (ret) { + kfree(iwl_dump_error_desc); + return ret; + } + } + + iwl_trans_sync_nmi(fwrt->trans); + + return 0; } IWL_EXPORT_SYMBOL(iwl_fw_dbg_error_collect); -- 2.25.1