Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp4673207iob; Sun, 8 May 2022 21:28:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxfT+M9XaKYLXbtzZyhLukCaq5vnQrZ4+d5O8kXuLeIQ+bZFY3nIGGD+lp5J9C+x7ZWeio5 X-Received: by 2002:a17:90b:694:b0:1d9:6a2e:bc9 with SMTP id m20-20020a17090b069400b001d96a2e0bc9mr24374779pjz.169.1652070520660; Sun, 08 May 2022 21:28:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652070520; cv=none; d=google.com; s=arc-20160816; b=AAPfVwhSIpZRndR/pyBjVRbSzz2CfvaOTqNnsHb5TX7Ug9YFI8RilOPdy3TGNhexEc RYlvm7mEzM/yHFZPM89LCGUU9BAmnWV+bRpv9+lFEIzZ+U4CxU8jJWya1wkK0buAwuBD Fq6X4S1t12O54JNIA9IpNUR4VlehJhS9093tNKKlN2TFM0nUVpdWhr0acEfxM2BMt++7 jZQTrPNRx+QLkP++w/zEyZIh/7nXbEFhlU2by89F5OdcfW/ADGLD8H4PFGFaVhoUigYZ YrmC0nwePLj414st6tE8YCGvhgr+lUakYmIjwD1TovXtybUOty3pJDXbewOsUYtr54Ct AKMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=O/Lg4EbO3t3v9TyxvkeBB41KAMwoG2Sgzxvzxxr6AJY=; b=qYeRJEei1/c7PhfvCl1XdgQf+NFRBrDNZFFxNfiamnc+fF6YlNnxUf7m1sIVxD4CKU qq08Ppf+bdmmBZq6DMmhTZG0oM68Lp563hC+hUuD1oph9TlHeTd608rI+VetEw+snOHc Dy1fFy+1kyINAToicyMCfA5A5jDQysrFZRXf+qRszEpUBm+xrHMAvZPOGG8RbcWcF4m9 3G1uWXtq7Lv+T/8viIdTw2CDzt7lHLo9DX18QTN4+t1X5jcnyts9L2f15YNi60aurEE+ 9kC754sGJeXpi94hcwU3T//us4p4HUOHxU8FXDddZphfy65uMo8efvEA7AyiV7q49xAz 1FmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infineon.com header.s=IFXMAIL header.b=ny2bw0Fs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=infineon.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id r4-20020a170902be0400b0015415173078si9362718pls.220.2022.05.08.21.28.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 May 2022 21:28:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=fail header.i=@infineon.com header.s=IFXMAIL header.b=ny2bw0Fs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=infineon.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E41901238AA; Sun, 8 May 2022 21:27:34 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1392066AbiEFMhD (ORCPT + 99 others); Fri, 6 May 2022 08:37:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38318 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1392101AbiEFMgw (ORCPT ); Fri, 6 May 2022 08:36:52 -0400 Received: from smtp11.infineon.com (smtp11.infineon.com [IPv6:2a00:18f0:1e00:4::5]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D2EED6A418; Fri, 6 May 2022 05:32:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=infineon.com; i=@infineon.com; q=dns/txt; s=IFXMAIL; t=1651840374; x=1683376374; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VYFmUvni3sr0e7gTHP7uul+cgiFgQYIDzKVxDbrcH/0=; b=ny2bw0FsbnNuM6cl9/VgFbwULI1Lbg+UCwPqnKG6uonU2T49O4ncElxw c5h7Q05/MC5za8yx9yCeoBSbBn3rMQuxI0Xd5ILsIuh5BTNQUdB2lF8iy 3S8CWkrGfLPhmCEXQwdfW2kzRfc2X9PBvToS7G8/xYZU2PqclkjSmKKAr g=; X-SBRS: None X-IronPort-AV: E=McAfee;i="6400,9594,10338"; a="293244969" X-IronPort-AV: E=Sophos;i="5.91,203,1647298800"; d="scan'208";a="293244969" Received: from unknown (HELO mucxv002.muc.infineon.com) ([172.23.11.17]) by smtp11.infineon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2022 14:32:51 +0200 Received: from MUCSE803.infineon.com (MUCSE803.infineon.com [172.23.29.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mucxv002.muc.infineon.com (Postfix) with ESMTPS; Fri, 6 May 2022 14:32:50 +0200 (CEST) Received: from MUCSE818.infineon.com (172.23.29.44) by MUCSE803.infineon.com (172.23.29.29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Fri, 6 May 2022 14:32:50 +0200 Received: from smaha-lin-dev01.agb.infineon.com (172.23.8.247) by MUCSE818.infineon.com (172.23.29.44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Fri, 6 May 2022 14:32:50 +0200 From: Stefan Mahnke-Hartmann To: , , CC: , , , , , , , Stefan Mahnke-Hartmann Subject: [PATCH 2/2] tpm: Add Field Upgrade mode support for Infineon TPM2 modules Date: Fri, 6 May 2022 14:31:48 +0200 Message-ID: <20220506123145.229058-2-stefan.mahnke-hartmann@infineon.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220506123145.229058-1-stefan.mahnke-hartmann@infineon.com> References: <20220506123145.229058-1-stefan.mahnke-hartmann@infineon.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.23.8.247] X-ClientProxiedBy: MUCSE801.infineon.com (172.23.29.27) To MUCSE818.infineon.com (172.23.29.44) X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org TPM2_GetCapability with a capability that has the property type value of TPM_PT_TOTAL_COMMANDS returns a zero length list, when an Infineon TPM2 is in Field Upgrade mode. Since an Infineon TPM2.0 in Field Upgrade mode returns RC_SUCCESS on TPM2_Startup, the Field Upgrade mode has to be detected by TPM2_GetCapability. Signed-off-by: Stefan Mahnke-Hartmann --- drivers/char/tpm/tpm2-cmd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c index e62a644ce26b..659130e2936e 100644 --- a/drivers/char/tpm/tpm2-cmd.c +++ b/drivers/char/tpm/tpm2-cmd.c @@ -746,6 +746,12 @@ int tpm2_auto_startup(struct tpm_chip *chip) } rc = tpm2_get_cc_attrs_tbl(chip); + /* + * Infineon TPM in Field Upgrade mode will return no data for the number + * of supported commands. + */ + if (rc == -ENODATA) + rc = TPM2_RC_UPGRADE; out: if (rc == TPM2_RC_UPGRADE) { -- 2.25.1