Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3545055imu; Mon, 7 Jan 2019 05:24:27 -0800 (PST) X-Google-Smtp-Source: ALg8bN70G8+mpvag6UuOni0qthz177KoBT5WhJOD9u3gm3sSkXoQH9lKTRYEy6jFQJHYMfiP8a35 X-Received: by 2002:a17:902:a710:: with SMTP id w16mr60047374plq.95.1546867467803; Mon, 07 Jan 2019 05:24:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546867467; cv=none; d=google.com; s=arc-20160816; b=eZ/K1KKgZ9bFfA0hW1Tbw2KTyfc9W25y4yuQfJETS4EfxuBNeCsg1dMtwkoulXxXj6 EqtP8RJBj9fpck1mfAbQhUl22vwuzqLsHM87EKiyBFtV3uFoyPaIWCZ9o2A2fuHlGXLJ 7vQ4bHM59Qg4oaTmF170nlH15DyZYoWgFroPD5CfP6pg6H6lJ0uRwj0bHGKOFHqa4s4s x2wfjDS6CDsj8YrSAkunqwcVZaYvNPBOxKj809p7hyynEpT1Tx1eGZp6slSt5t7Diu1D iA3AqBv1cQfEz8vt2cwDVlr6VwScNuH67zduUd1kw3wZmaUSaI3Lkb12VJDtj9Msacbm iDmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=RQLtNNzs4nscGXXtgtznfEpCc3NP3u/Qql19ovutK5A=; b=V3XKZ9pQcBdkfsniv8JhZbSyOTv1Q5rUL32taKFaf2Zsbk/mW3tRYx58mR8WFBcQ98 s5krmaYDfACWC0dPyFTZ32+hmUQr9U7P9OodQbc7KphdYQYbtE0Zn4dW6FzpUBP8/LND fz+q04sjnODpPMci2DddJKrrla5dysmdimeJWRp80uGCPsIkRwWlfsPI00JZN7rZEZzQ U8MG2lEN2Wsf/iXwIPLpWfoXsbyBUFA/+6bK8z0n5oXT3tVVv3F3dFNOwL8hg8nNJRrF 7899txHI/jP3rJ0CrQn5ZX2mBIerU8PwdP4Nyfg3Fk7B/BaxVlXV+0ZBI9vbNvmRs4fd XNHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rZvr47R7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ce11si11275459plb.420.2019.01.07.05.24.12; Mon, 07 Jan 2019 05:24:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rZvr47R7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729921AbfAGNVl (ORCPT + 99 others); Mon, 7 Jan 2019 08:21:41 -0500 Received: from mail.kernel.org ([198.145.29.99]:33692 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728560AbfAGMov (ORCPT ); Mon, 7 Jan 2019 07:44:51 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6E8FA20449; Mon, 7 Jan 2019 12:44:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1546865090; bh=8+Zfdi0LI3U38ikvTScbj/Nfv/G0afZsWPcvHMnPffE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rZvr47R7QZJCaDNW6ULb58nnEfpVJOPDBQZYOOnScQUfZbvzeqm1nrKH/e6iULls8 g78i/PheDNBpmTVN/HUgMwTGvGGs+8Fz8hEC4/GISF8D3c14ahy5wWjzspD7so8uaf lp56x2YdlDePeIkyoLCABv0dZKMM3B/tkEg5xCqA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nayna Jain , Tomas Winkler , Nayna Jain , Jarkko Sakkinen Subject: [PATCH 4.20 145/145] tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x Date: Mon, 7 Jan 2019 13:33:02 +0100 Message-Id: <20190107104456.117336005@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190107104437.308206189@linuxfoundation.org> References: <20190107104437.308206189@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ From: Tomas Winkler commit 2ba5780ce30549cf57929b01d8cba6fe656e31c5 upstream. tpm_i2c_nuvoton calculated commands duration using TPM 1.x values via tpm_calc_ordinal_duration() also for TPM 2.x chips. Call tpm2_calc_ordinal_duration() for retrieving ordinal duration for TPM 2.X chips. Cc: stable@vger.kernel.org Cc: Nayna Jain Signed-off-by: Tomas Winkler Reviewed-by: Nayna Jain Tested-by: Nayna Jain (For TPM 2.0) Reviewed-by: Jarkko Sakkinen Signed-off-by: Jarkko Sakkinen Signed-off-by: Greg Kroah-Hartman --- drivers/char/tpm/tpm_i2c_nuvoton.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) --- a/drivers/char/tpm/tpm_i2c_nuvoton.c +++ b/drivers/char/tpm/tpm_i2c_nuvoton.c @@ -369,6 +369,7 @@ static int i2c_nuvoton_send(struct tpm_c struct device *dev = chip->dev.parent; struct i2c_client *client = to_i2c_client(dev); u32 ordinal; + unsigned long duration; size_t count = 0; int burst_count, bytes2write, retries, rc = -EIO; @@ -455,10 +456,12 @@ static int i2c_nuvoton_send(struct tpm_c return rc; } ordinal = be32_to_cpu(*((__be32 *) (buf + 6))); - rc = i2c_nuvoton_wait_for_data_avail(chip, - tpm_calc_ordinal_duration(chip, - ordinal), - &priv->read_queue); + if (chip->flags & TPM_CHIP_FLAG_TPM2) + duration = tpm2_calc_ordinal_duration(chip, ordinal); + else + duration = tpm_calc_ordinal_duration(chip, ordinal); + + rc = i2c_nuvoton_wait_for_data_avail(chip, duration, &priv->read_queue); if (rc) { dev_err(dev, "%s() timeout command duration\n", __func__); i2c_nuvoton_ready(chip);