From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.11774.1636033267688241164 for ; Thu, 04 Nov 2021 06:41:07 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=T/np80x6; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10157"; a="229162252" X-IronPort-AV: E=Sophos;i="5.87,208,1631602800"; d="scan'208,217";a="229162252" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Nov 2021 06:41:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,208,1631602800"; d="scan'208,217";a="450203268" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga006.jf.intel.com with ESMTP; 04 Nov 2021 06:41:06 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 4 Nov 2021 06:41:06 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Thu, 4 Nov 2021 06:41:06 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.171) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 4 Nov 2021 06:40:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L5+xyEDlP72Ew3I4y8kbn/AzYIDiVxCILFIgp1ltlKw/Y7KsCdhZDnnfddwW1r+YC071EAQlNJlnqv1DctiJCtBW7K3wChXeDC3cAcEc9gfE0fVBNI02w8oi/lU2baj2feSWnaIhPHi+ChDQ54IuM72TMBCPF97qFO2W/N5Cnbz7GkBPucevri7USmNFInwE/QgL5oPF7rw9PjwyopH69ToI1Hb635dRWKbWQWBUE7j0WjZjALXOt131Juyy8TOkJguG0lKXnUHDpJvupMaQLvCOBFpF5vgxdBTNgybJng1aFxUxI68n+YgdmLaryM3zT42n9StGZ+P+D1ykt0pCfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xZJV8TdRyZN3mv/C6N/92eMfv7bmXqJck4ZjRMGT8hc=; b=Vck4fAHJBXSKSkSOjxSqbRdBDpsFmxG0sOmpegLiPg3XYAWKA1MbyjGqCRf/yGdEzzzzcvC3qEvJqiO6l2PXPhtqxbfkH1/O5EbI1YjabEoYcym9y/iDrLq0UuLFq78KJaNixJn6xndja54XjYA3MPB/EVSVJCIcpMsTvCV8P/EoKanI23Nzhd+r3Bg6VQvyYZD+dt8UPwcN0dBqOX4FSbSKKD0AxasIbw7qF+L3jzidrhMtVbpD509/hsJWoyf9Rix/F5GLoJOod268gIAy7jansZjR/lTo437n0kvzUe5149RPRyFFljd99xZM5jXKPHw8vgK2e0ycDu83jrKMUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xZJV8TdRyZN3mv/C6N/92eMfv7bmXqJck4ZjRMGT8hc=; b=T/np80x6NyD+QMYjGJxXdJguVYCqmGsUBRUUGV6721VqXyvlaCSQvhHX+vqPMsAdP8xXNWxT9BFAyPPqN59FzJuVSgClUErh5jVo6EQ7Bgv5+iveiWg+z2syoTp446Xfi6rHSltsgpeUSFhpzxxA139qgBB5tSGIZU27aSL5dYk= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4917.namprd11.prod.outlook.com (2603:10b6:510:32::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Thu, 4 Nov 2021 13:40:28 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80%5]) with mapi id 15.20.4649.019; Thu, 4 Nov 2021 13:40:28 +0000 From: "Yao, Jiewen" To: "Gonzalez Del Cueto, Rodrigo" , "devel@edk2.groups.io" CC: "Wang, Jian J" Subject: Re: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command completion. Thread-Topic: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command completion. Thread-Index: AQHXeogrYsCxTB3/+kyyE/JN9B8psatqhlIAgAHp8FCAh52rIA== Date: Thu, 4 Nov 2021 13:40:28 +0000 Message-ID: References: <20210716211817.263-1-rodrigo.gonzalez.del.cueto@intel.com>, In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 274a3264-cd30-4f09-2afc-08d99f98a9ec x-ms-traffictypediagnostic: PH0PR11MB4917: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FYo/ZvBzNcJ2tnWbmFt1ZMh0vx68erzQU0hH1EHrp8W73lkOYeOb5qg9geqzyJcioBv92NL5YRhJ/eDulfuhMGWvK2uazdTmlUDl79ApZCyagn8RbV3/E8wpixTVfFj0aauyu93XdinZNXtnK8zWT5dMsmGoU1dfcmRx/nhP4qo7jPxU0m8WF7LnQ8JszP6RxmMTsohMHJH0dBfFzu/Eotd2wV6OfVi9jpG7GdqLJyNzAZb4QCiF5m3o3jsML4b7JBnNiCp+lZx7Svwl6PXh8oTLE6/ntP2K99OZNLzGLz+qG8Jv45ZmnZDFswPT3l9j3ATaIVG6D6EueWrhSJbVbobeczOCN7S8Fu+mYvOUFMmNG/TSqUjrXvY6QjsD1jmJ6KNDcsGeHFjRk9MmHOKJXdasKcXEQSM/fSB/Qr0zCPhGGQ3SK8p0837OdowXKlTLahI5OElQwWFg9puGXAkTJ0iHsnLI2F+3v2RZW8qKYQVat6/lr1bWit7C6ic+I8szxsfEBe+Gj5jgai6MfIO91+SznbmTRz9Ajqjjr6TsWTZFJmZCP6oUeqPjXqLSVaiQIyzmyo4/2ZuH+3Kks2xhNSisP7DRaAK5U/0ueArFkoVt7o/AR6mV4Is+dSiPTD4ii6AzOD12oviopX97mzWOqObdhvFc/ZkUVM1B2gcIE0LpnXOGyzsYJ2fcXmowk87l5LpL7sCXjSUfL1h51c9zEQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(122000001)(8676002)(5660300002)(38100700002)(8936002)(66446008)(76116006)(33656002)(66946007)(83380400001)(66476007)(186003)(66556008)(64756008)(6506007)(53546011)(7696005)(26005)(86362001)(2906002)(71200400001)(38070700005)(508600001)(110136005)(19627235002)(52536014)(4326008)(316002)(55016002)(15650500001)(107886003)(9686003)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ZzXo74rqMg14P/3TNwqIUbwpH9ZjfOgJmazQRb6YRvKLB6eCGDEG7A1x27TY?= =?us-ascii?Q?DYrkRdzDBFSzj6iwrLHQWL6z7uOLVJjAmlThJu3fMsPc++xVLS+59YP7zCD9?= =?us-ascii?Q?Mz8nS3HjXkbhgifBUkOiTV8EhgrMsffy3bKFadhY5CzBbog1mujrhEc+koOG?= =?us-ascii?Q?VipxTky2pPyfPI8XwEGkhskgmVG2BNrJh9XXEIqfwrd9MQrSCnak9taOUdHM?= =?us-ascii?Q?iBXPD7jv/KEUd7mZ+O96tskz3OeuInk44MBtGihVIuI8onG5wq+tKqez1wD1?= =?us-ascii?Q?z5+F1tWBYtBUhoOxlY74q7LVDKCaHi1WywZad9LtDuDrKWsgwV5qpNzMihgk?= =?us-ascii?Q?YKLwCJREqUO298CnZgijmYf9s6aT0mOgHzttKa+Y0ilwLSvN2U3lUe3z1bcX?= =?us-ascii?Q?vWshPCci/yGN0/nhPMJjkkmlpK+dbFPInnLvxLAO7cwSS/61Uo/RrV8KOUm4?= =?us-ascii?Q?AJxgHJ877IetIFXuLcPQRFZGr8mWEM6d5nkGjs9m8rATSxOQf2seHDbjSQoH?= =?us-ascii?Q?NwPHebqgLC0sPuDRw7prGRAnKIfyG7tweBXflbNBQqX/FqvDbfEPGxeX+5Fb?= =?us-ascii?Q?pjOPtGbGHGgU3/slAX37FzYcw8lQY/8NGrZnmFNhDg58TPlQeKPgPPPqcY2Z?= =?us-ascii?Q?KtRkzfwIpeLtSnVAz+3ilqikCLS613e3jhk7nXm3SJP3DGzoek65gd2cdA9O?= =?us-ascii?Q?ujvyo4sGvzDMmWSXpUb6ASHIIcZPy0/H8521vHtASdUa7xsll9AmjC7+JW4j?= =?us-ascii?Q?XZbyFToj0LVv/rDGs1M2GRMXL+oT/C+rRvG9GKzjva1/xJSzMIfyzaAT92Pu?= =?us-ascii?Q?pNIXfjsp9Q7Gs/iNOUUzMf9p3u5Ulxbvi4766ZdKqcXT1K00a2IKpoiwQMmQ?= =?us-ascii?Q?nETibD19FtznWJcZ+yRGhiT3OBTMT1ZDL3HlerOJv1LUB2s6m1rrDUVbumbq?= =?us-ascii?Q?sbtSdHpMycqjw6EYKlGMOsCtKNyftJobbKP6MjPjO8qCBAiyuSVSPtFdu3tg?= =?us-ascii?Q?3tKaEe6Gj/TYHLnrZQ1FPYABFJrtwbJgkOeqPRUcdhjGDGEKLdfGAgzs8E4w?= =?us-ascii?Q?UCaLCi+6gFXZITPKHTBXqpc1JtT3vA12ROpkUvIT6M9UuIfNw+D/8FKCr8Ln?= =?us-ascii?Q?06E/TXAeY0Z+AdXGA1zitDTKgp2UnauP3DFRyFDQNH058AL3reeE35oJ8Vaj?= =?us-ascii?Q?gyIp7AlJwMQEHiggpjRnjQM2wBFd+U/E4er9UAOoQn6YXfLTTA0ndKlIr6cO?= =?us-ascii?Q?SMlg2tnmoCRGJkJZdq3dRrFKyFUWtru2FIGuJ3uspdzzVOB53G/j8Z7s1u2l?= =?us-ascii?Q?UK1TLFxATZfQUBnfBP6HBJUabGjEACTrU/2+qaHrWxsAUUOlmI3vKhfwL5hW?= =?us-ascii?Q?UQJcAGcptAVXsjPhyuUQ8L+PIO8BvBKf6JLKohg7DDUoqm+kaJFQOnHvV9Fl?= =?us-ascii?Q?7y5NkV9Uy3V8rgUhdcK5hF2V/m4NKC4ni/0zGay7bzdXhpKfi83r1wOaDsog?= =?us-ascii?Q?QHFpAf0HbAjOwF/oIZP7xSaEzd7izZYtnWA/fvucDPiTQvzdluajNoE3VAH5?= =?us-ascii?Q?qxkUSN1yRMI/ziat1p23fR9jJ+ARnJO4XOlcY5n50gDRpI65sK5M/1Pg7NbE?= =?us-ascii?Q?4+0MAg9UObjUbUWV4yO7d2Q=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 274a3264-cd30-4f09-2afc-08d99f98a9ec X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2021 13:40:28.2844 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RPtQEaLZ3hsPi56m2rNz7M9o5Rl96G1WT0yScwxuVeqxgUls0EVxhDMre9GoTkZ+FjfJ7qEI302Qx6JMdJ5Q6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4917 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_PH0PR11MB488524F85BCE2F5ED12F428E8C8D9PH0PR11MB4885namp_" --_000_PH0PR11MB488524F85BCE2F5ED12F428E8C8D9PH0PR11MB4885namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jiewen Yao From: Gonzalez Del Cueto, Rodrigo Sent: Saturday, October 30, 2021 5:34 AM To: Yao, Jiewen ; devel@edk2.groups.io Cc: Wang, Jian J Subject: Re: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command = completion. Hi Jiewen, I have tested the proposed CRB protocol fix with three different TPM config= urations I have available which support the CRB interface: Intel PTT, STMic= ro and Nuvoton. Under these CRB configurations I didn't observe any issues = arising from the proposed change aligning with the TCG CRB protocol definit= ion. I verified the BIOS flows were unaffected and completed without errors and = that the OS was still able to interact with the TPM. Regards, -Rodrigo ________________________________ From: Yao, Jiewen > Sent: Sunday, August 8, 2021 6:27 PM To: Gonzalez Del Cueto, Rodrigo >; devel@edk2.groups.io > Cc: Wang, Jian J > Subject: RE: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command = completion. Would you please tell us how many TPM2 chip you have tested? I think we need consider the compatibility of exiting TPM2 chips, to make s= ure the code still work. Thank you Yao Jiewen > -----Original Message----- > From: Gonzalez Del Cueto, Rodrigo > > Sent: Saturday, July 17, 2021 5:18 AM > To: devel@edk2.groups.io > Cc: Gonzalez Del Cueto, Rodrigo >; > Wang, Jian J >; Yao, = Jiewen > > Subject: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command > completion. > > To follow the TCG CRB protocol specification, on every CRB TPM command > completion the TPM should return to Idle state, regardless of the > CRB Idle Bypass capability reported by the TPM device. > > See: TCG PC Client Device Driver Design Principles for TPM 2.0, > Version 1.0, Rev 0.27 > > Signed-off-by: Rodrigo Gonzalez del Cueto > > > Cc: Jian J Wang > > Cc: Jiewen Yao > > --- > SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > index f1f8091683..34e3874a5b 100644 > --- a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > +++ b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > @@ -310,7 +310,7 @@ PtpCrbTpmCommand ( > // Command completed, but buffer is not enough > // > Status =3D EFI_BUFFER_TOO_SMALL; > - goto GoReady_Exit; > + goto GoIdle_Exit; > } > *SizeOut =3D TpmOutSize; > // > @@ -328,16 +328,6 @@ PtpCrbTpmCommand ( > DEBUG ((EFI_D_VERBOSE, "\n")); > ); > > -GoReady_Exit: > - // > - // Goto Ready State if command is completed successfully and TPM suppo= rt > IdleBypass > - // If not supported. flow down to GoIdle > - // > - if (GetCachedIdleByPass () =3D=3D 1) { > - MmioWrite32((UINTN)&CrbReg->CrbControlRequest, > PTP_CRB_CONTROL_AREA_REQUEST_COMMAND_READY); > - return Status; > - } > - > // > // Do not wait for state transition for TIMEOUT_C > // This function will try to wait 2 TIMEOUT_C at the beginning in next= call. > -- > 2.31.1.windows.1 --_000_PH0PR11MB488524F85BCE2F5ED12F428E8C8D9PH0PR11MB4885namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>=

 

From: Gonzalez Del Cueto, Rodrigo <rodrigo= .gonzalez.del.cueto@intel.com>
Sent: Saturday, October 30, 2021 5:34 AM
To: Yao, Jiewen <jiewen.yao@intel.com>; devel@edk2.groups.io Cc: Wang, Jian J <jian.j.wang@intel.com>
Subject: Re: [PATCH] SecurityPkg: TPM must go to Idle state on CRB c= ommand completion.

 

Hi Jiewen,

 

I have tested the proposed CRB protocol fix with three = different TPM configurations I have available which support the CRB interfa= ce: Intel PTT, STMicro and Nuvoton. Under these CRB configurations I didn't observe any issues arising from the prop= osed change aligning with the TCG CRB protocol definition.

 

I verified the BIOS flows were unaffected and completed= without errors and that the OS was still able to interact with the TPM.

 

Regards,

-Rodrigo


From: Yao, Jiewen <jiewen.yao@intel.com>
Sent: Sunday, August 8, 2021 6:27 PM
To: Gonzalez Del Cueto, Rodrigo <rodrigo.gonzalez.del.cueto@intel.com>; devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Wang, Jian J <jian.j= .wang@intel.com>
Subject: RE: [PATCH] SecurityPkg: TPM must go to Idle state on CRB c= ommand completion.

 

Would you please tell= us how many TPM2 chip you have tested?

I think we need consider the compatibility of exiting TPM2 chips, to make s= ure the code still work.


Thank you
Yao Jiewen

> -----Original Message-----
> From: Gonzalez Del Cueto, Rodrigo <rodrigo.gonzalez.del.cueto@intel.com>
> Sent: Saturday, July 17, 2021 5:18 AM
> To: devel@edk2.groups.io > Cc: Gonzalez Del Cueto, Rodrigo <rodrigo.gonzalez.del.cueto@intel.com>;
> Wang, Jian J <jian.j.wang@= intel.com>; Yao, Jiewen <= jiewen.yao@intel.com>
> Subject: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command=
> completion.
>
> To follow the TCG CRB protocol specification, on every CRB TPM command=
> completion the TPM should return to Idle state, regardless of the
> CRB Idle Bypass capability reported by the TPM device.
>
> See: TCG PC Client Device Driver Design Principles for TPM 2.0,
> Version 1.0, Rev 0.27
>
> Signed-off-by: Rodrigo Gonzalez del Cueto
> <rodrigo.go= nzalez.del.cueto@intel.com>
> Cc: Jian J Wang <jian.j.wa= ng@intel.com>
> Cc: Jiewen Yao <jiewen.yao@= intel.com>
> ---
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c | 12 +----------= -
>  1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> index f1f8091683..34e3874a5b 100644
> --- a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> +++ b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> @@ -310,7 +310,7 @@ PtpCrbTpmCommand (
>      // Command completed, but buffer is not = enough
>      //
>      Status =3D EFI_BUFFER_TOO_SMALL;
> -    goto GoReady_Exit;
> +    goto GoIdle_Exit;
>    }
>    *SizeOut =3D TpmOutSize;
>    //
> @@ -328,16 +328,6 @@ PtpCrbTpmCommand (
>      DEBUG ((EFI_D_VERBOSE, "\n"));=
>    );
>
> -GoReady_Exit:
> -  //
> -  // Goto Ready State if command is completed successfully and T= PM support
> IdleBypass
> -  // If not supported. flow down to GoIdle
> -  //
> -  if (GetCachedIdleByPass () =3D=3D 1) {
> -    MmioWrite32((UINTN)&CrbReg->CrbControlReque= st,
> PTP_CRB_CONTROL_AREA_REQUEST_COMMAND_READY);
> -    return Status;
> -  }
> -
>    //
>    // Do not wait for state transition for TIMEOUT_C >    // This function will try to wait 2 TIMEOUT_C at the= beginning in next call.
> --
> 2.31.1.windows.1

--_000_PH0PR11MB488524F85BCE2F5ED12F428E8C8D9PH0PR11MB4885namp_--