From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web08.11946.1635543241877580322 for ; Fri, 29 Oct 2021 14:34:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=qJrpMmbk; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: rodrigo.gonzalez.del.cueto@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10152"; a="211527887" X-IronPort-AV: E=Sophos;i="5.87,193,1631602800"; d="scan'208,217";a="211527887" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Oct 2021 14:34:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,193,1631602800"; d="scan'208,217";a="448258021" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga006.jf.intel.com with ESMTP; 29 Oct 2021 14:34:00 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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; Fri, 29 Oct 2021 14:34:00 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 29 Oct 2021 14:33:59 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Fri, 29 Oct 2021 14:33:59 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.106) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Fri, 29 Oct 2021 14:33:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a5tAyDiWB99brhUEtX0SItkM52tX9LpHGTmN5OQEYZ77Tz9ztPaPrmM8eJkQ5uag6UzWPlh1f6e2Jm/imef7SEZvy9bgAVh+m0DNsbrDNQ2DCayIMO8NFF8z1tNbE5JAk80WmaPCsMW+eyKxXz4jrR+J/8r4UAxqHggX2x09u7RM9CuM5PPgFvBjJCsdamWamfa5xFe5kCkXDQlGVg7B4YFalifRkVyziPf0v8GT8SFQPAWdcoJ/3aJP3h99T3ZQZ23PwZfcZAoseIQbzCJco6jCQ+P3o2k0voaIAZs68qRIHmGRZXJhkTeafRy2DNZXFh0MPaFoNph6Rp7JBKzi4g== 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=e44leRBk+nmL4nT+PZVojKgwrbIzLSyTRKYu+aaW6ds=; b=QeZERfWy21IZ3K7oanmzAOU1Gjvtu2yV0pqXtZ558JQeyI/DwU3mUs3rvp9qReE8x8z8ixTZEcs/+Z9PaE/M+Sk8oyVd6iSYq8ZHlxDXCIQoPfpC1p7IMBbZJsHE+c3qvGmiYt5IpGUhEwemnenhVnv0iZpzOCfwIo2G9eg83gq1iT0Tm1aWSV38U7rrRwkErTvRZofl7at/aYDaYJRhOyovKB2tWC9cszuYxCwoBB0J/k+lXgYUGy8DR8wZMcvzgr2wNeBtU/QQIriqyqW+hkHYo8Kfhb5lOYlMaSfwRd+SbYXx4zVfcbYCr5HnquttdVj6eB/VLb/ix/MB0aYfrQ== 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=e44leRBk+nmL4nT+PZVojKgwrbIzLSyTRKYu+aaW6ds=; b=qJrpMmbk/Bt9wKVXvYeUHIL9bgHqu0mSDelzEv/eVWG+fpDSMajSLs/NBM8CaJ3wGJgU8uhEWUU54eJLKcinaPwOMecguHwl68VN/SJ0N6kBHtszXyOnnJf2D6HpzY2OGZ+5vBx+LwGMriv56wq9HWaaLjUCuyCmDOnb8keNLwo= Received: from BY5PR11MB4184.namprd11.prod.outlook.com (2603:10b6:a03:192::33) by SJ0PR11MB4942.namprd11.prod.outlook.com (2603:10b6:a03:2ac::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Fri, 29 Oct 2021 21:33:57 +0000 Received: from BY5PR11MB4184.namprd11.prod.outlook.com ([fe80::ccc3:a341:6fcd:d484]) by BY5PR11MB4184.namprd11.prod.outlook.com ([fe80::ccc3:a341:6fcd:d484%5]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 21:33:57 +0000 From: "Rodrigo Gonzalez del Cueto" 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. Thread-Topic: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command completion. Thread-Index: AQHXeogr9TiMIkDJu06/AqWcvlQP2qtqhlIAgAHp8FA= Date: Fri, 29 Oct 2021 21:33:57 +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: suggested_attachment_session_id: 1ea412ea-bc7d-02cb-8996-398d29e7e03b 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: 56779dde-5224-4c66-00f4-08d99b23d0b4 x-ms-traffictypediagnostic: SJ0PR11MB4942: 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: vF3UjZANLcEWQ1TE9h6f4oVMtpnnOn9PPBJibEVEUQuNu0/HOu5tFs02oRexlKbYY+uPM5leWkhinAdtCf/ztgzFC3avs4/6tr2iIYZNFESepA8zJ0qPmprC85yD2Zf19n923XMobS1Plck4/2y6FprXRw+R7gzhMTRbzc2BOAUIkgfIYxiS2Si36k7wp8XrR1/1tLAItT1tcoJdmzUAWePaI2njbyz5jZGdw30B5gJ4s+kJff3rZLlLiy2zqqzEJr+CuFyjUSoa3cv47TFTWhxJb9lxvQGqaPjeP/yhMVfFonzYTnXJPQkDcmz8RprCVXzUc9uzOiXyshfGFr4s1M1Q9F1L0LM4iAUByEKBDnrL7BI63BiYcBudBNXoH0WVL+MbLcg0UGmx5tPooIvOZ2xPYjrPJ4tP4taHPotda6NpqoEDA/NgyVsNYFX+ZdrI84zFJE9jTLdyCOd8x2tjeYcKkbyVcx4ETG6qUlBSeh/aWAymLsX5MT/UWrBjl1V8xf+jlCyfddv6FtNR9oUL0es+hJAdAZDESYUMRm6hVI4BN8uPpIChuALx9BtNgpJqB4jmlhCxToVG5IxI28B/+935P1/3bcoqRV9LKBw2QMkBQn8iw7YWR80JqOwgJYCy12tXZzhhwp+qk9JDZa386PdwSc43WGTi50se5hZP88XcLgLu5wGn7fB6iYKLxtylBB6oTI5g2VRs8o1mx4Lquw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB4184.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(86362001)(110136005)(4326008)(71200400001)(76116006)(6506007)(15650500001)(8936002)(53546011)(5660300002)(33656002)(19627235002)(122000001)(52536014)(38100700002)(66446008)(66556008)(66476007)(316002)(82960400001)(66946007)(9686003)(2906002)(64756008)(38070700005)(19627405001)(8676002)(7696005)(26005)(55016002)(508600001)(186003)(107886003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?C4gux9zr59V+Xo84HhPX6lJd81FbYMsiVNXmlSF6xtmugTBLhWXsOS9SVj?= =?iso-8859-1?Q?H7oxYQtbXwmTw91JUrFcHpWdfXjCHxiQghNyj6SdZFxSHqlWvg15npS0LH?= =?iso-8859-1?Q?lKr3R38g4GrL0VHIgwyajwuO6wPyWkv3g/iOj98jjz6pgn24/vgkpoWk3c?= =?iso-8859-1?Q?VnBpwUC7LkoOZ6g9qJF9JLZ6HOAWgjMnnnkg8IwqZt9YmuRMThG463mzQU?= =?iso-8859-1?Q?mF8Uv2YNIJJFuWSq4ZzwXY4OffJ59bPrje20ZFrDLQ4usxB8pv32yz/2Cj?= =?iso-8859-1?Q?GDJUDZrbZJemOqGUZAvyTLMGLsptv5pDchtXUCk4a+KJhJJtmGFn1nhSXR?= =?iso-8859-1?Q?XnLhjT3kTdSl7EChmvVLNeWxYugl90+aVSVTnSpQG1p5Ezah+IsHOhmmZe?= =?iso-8859-1?Q?NNI6AY0EjcbkEUEjVmAhn8i50LdqivSbkvgEkODPS4jSH7z8LdnVKhbWxy?= =?iso-8859-1?Q?t1sknBMKERxoxofvHlzCMJ7V7INsXHN1q+oRaOWNhQ17guj/WY3xTqbN/l?= =?iso-8859-1?Q?HBU1Z7Y/84nvIaytJJH/PLYd8RHB66QmUhqQodFyUnRKmi9IjoGliAWbsQ?= =?iso-8859-1?Q?FAZKFtFfXj+Fh0P1s4EFYwI7bpXXzO42XkOtL+r96y+9GPDkfQ5bhEJpX1?= =?iso-8859-1?Q?qeF9RuTUyCEmy1veDpd1M6IOCuweVqiZEXfEJPt2fGatanuHP6wh0YqCpZ?= =?iso-8859-1?Q?AO6rg0jazef1/76HSAyRG5/z6z212xGZgAhXI+NlV2YRHMXrPSMa6cdlJg?= =?iso-8859-1?Q?4N6M5SchoF5YLsPkE3JcKoK2VoyHxnoxZ1xN46C18390+IocJfrvlyVMip?= =?iso-8859-1?Q?ku2oC2Px9ojocIBJZI0GNzQjWVZ9uu9zbzZVFTU7SvJwsjwWM2zPx5zLKx?= =?iso-8859-1?Q?KHOXO/iHDWEaV6+PW9k+0ZbrdrhQyYo3Balx/PxENNq/KbQVOozEKoqVRd?= =?iso-8859-1?Q?3spKsGIy6YdV02E4cIs6S9UE1Rc+lJoGah96tQaUgBKCjVan6LAhtm7I6/?= =?iso-8859-1?Q?TbAiZITGi0941FC4XcpBHTf31i3VgTY4cX7mqSM8qR5VzV6J6K44ofJt43?= =?iso-8859-1?Q?1U+I1gbna7SkMEnjxCpFwx5FGgkWyxVORtvyu1aUfk3V8fZMtp31irhij9?= =?iso-8859-1?Q?1UFERDXbcyhJa+WVAFfPTdcfPChT2B2un8LFV4kNO2h/zJXf0amW2Ime6M?= =?iso-8859-1?Q?cb27gP2LeEoa+Pi39alD05zBQ194xE70QLRcJHv/Q76LM3zTFOYXfpI/li?= =?iso-8859-1?Q?OaJz0pc4nOy/YXW555sNza2+YQA2Ts71XVMqxizs4Jbae65W6rebc0aELB?= =?iso-8859-1?Q?3EeOeaFALfUdvjFh2pY+xE8YqQyvcaL6He/W0crtNPvPmIzbnCQcPWhLls?= =?iso-8859-1?Q?+6aOswxEyGTBUBy4y5omQdZRxnw1dJTvrRZZoojqKDRODwL4vGBK/PfSgo?= =?iso-8859-1?Q?N4r69LivTxudY2mOWxkUUtZuIIzrE55JPgTPHHTmSvepjhoxUYM8EHjWpe?= =?iso-8859-1?Q?2rhoaJ+Cxj+UX0fmAZCls2iAxBV7Pvh+GRWQmzgzMxBDXxJy+zjxJ7Nm3K?= =?iso-8859-1?Q?9WNAohKBByD3r5EaDlUBqbwDxHOugMx46ib2gfr/HdTwfOIszJyVIJ35OW?= =?iso-8859-1?Q?jYhDXI8acklPcBdrhtI+LezZI1hU5R/wY80D3GApDkpbwu0wFrs5GLAgz3?= =?iso-8859-1?Q?LW1Etk/QemywLyNg3IHpZ50ziyBnZshL8JM6cVo1ffc1/aQaMGbpgDXN3q?= =?iso-8859-1?Q?vFW62LwH04/miXT6GrJepXQbsNx9JG65QpZ4GvbroeVUmVQTUp7vAHMmzd?= =?iso-8859-1?Q?7e2WNgdkZg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4184.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56779dde-5224-4c66-00f4-08d99b23d0b4 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2021 21:33:57.5715 (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: KdXC7uvM+/locI3H2ojB8OzQgQk3ci5f//koqPTpf2h6vjKnBurK5ptU/n9WOjlA/gCWegFcXyt3sMdhkgN1ReJ+ylJ/IkoOH8krg4+T4ADiE6C3FMgTx7ds/t29qr4W X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4942 Return-Path: rodrigo.gonzalez.del.cueto@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_BY5PR11MB41841810890E9EF4DFB75F1680F79BY5PR11MB4184namp_" --_000_BY5PR11MB41841810890E9EF4DFB75F1680F79BY5PR11MB4184namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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 ; dev= el@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_BY5PR11MB41841810890E9EF4DFB75F1680F79BY5PR11MB4184namp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
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 c= hange aligning with the TCG CRB protocol definition.

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

Regards,
-Rodrigo

From: Yao, Jiewen <jie= wen.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 ha= ve 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.c= om>;
> 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.gonzalez.del.cueto@intel.com>
> Cc: Jian J Wang <jian.j.wang@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_BY5PR11MB41841810890E9EF4DFB75F1680F79BY5PR11MB4184namp_--