From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.19916.1630919101115536701 for ; Mon, 06 Sep 2021 02:05:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=btrzLfQ/; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: chasel.chiu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10098"; a="207148321" X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="207148321" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2021 02:04:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="536676606" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by FMSMGA003.fm.intel.com with ESMTP; 06 Sep 2021 02:04:57 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 6 Sep 2021 02:04:56 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 6 Sep 2021 02:04:56 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Mon, 6 Sep 2021 02:04:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D4MjBksym4l0ORmzXUqV57/yhK3/JDpZXn10iyLXnmapW+3UkMF+OhtUFhD7CKKTYqoMAWWlnhNHfYNuyfYrapUTPtZN82ZktpN3X3cAnOIu8Dr00LEFatB3vJW7kz+5LS5PUEQKQmstD9M6pgE5HfFkldY1dyNNBk5YB3XZUGdPsVPqKQdLUKv2uGEl+sTasOHlFWprOSZEyeDXlsQS6sVCwNWO1opS1c4E+TLNyZwQj3K4DYfSBcdsVheMp0XKjGJUPqItC1OrijM3+cZpC6cMEqxyeJRm6oeqXCWEaWVd5YcLeWcVUyr91tpqKQTwSfs4clZZ6gFCw02dX3DISw== 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; bh=ngcKGA0/G0yNKQT437hHgY2czWyHAVFqmifAliYqTdo=; b=LO5SyNSrA9xqMFxWGJQ3qhkmQOFuPLoarBNunRw+KClminmPeFoHROzxMtAk6tkDVEKmdjUE43BPSzxysxfoi4y8b4ErMGiwtU4XUe6M4MWPsahrU52Gofj1s5lJq07MzwH8OGDRfLR5mmzpircY75OoHIX4M7mDDsMDBWr73RIxuKULeGJIVVbWSMKtQJDOLxcwP0JCeA93pKbfqsohMulUUzePKNfUabQbPPzKkqMekH5u6qzplm5KAFg5h8c+z3Q9NoQhDik1QhT+pC8PEbhS1v70SRk9HuQ3nWS0IrYYZnCV9QSvYdTTAbNmWjaliadTWqdDJxufEoFqf124RQ== 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=ngcKGA0/G0yNKQT437hHgY2czWyHAVFqmifAliYqTdo=; b=btrzLfQ/o+drdoQxteIh9lcIvTOD7wiO/l8NCqgjp9GaVxt9xElvnrdSi9bCK1G+QZxHO3hMIN6/OFhizQ8pq3ctHHi0jvpGsPbx2vnN+S/CF9j6de92d7LUzJ3GmP+h5GDrp3q48a9zRVV3org5ZnphtN4RKwCyn/mGc24FlFs= Received: from BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by BN6PR11MB1249.namprd11.prod.outlook.com (2603:10b6:404:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19; Mon, 6 Sep 2021 09:04:50 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::882:4e40:b0e4:239e]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::882:4e40:b0e4:239e%6]) with mapi id 15.20.4478.025; Mon, 6 Sep 2021 09:04:50 +0000 From: "Chiu, Chasel" To: Benjamin Doron , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" Subject: Re: [edk2-platforms][PATCH v4 1/2] KabylakeOpenBoardPkg/AspireVn7Dash572G/BoardEcLib: Check for NULL Thread-Topic: [edk2-platforms][PATCH v4 1/2] KabylakeOpenBoardPkg/AspireVn7Dash572G/BoardEcLib: Check for NULL Thread-Index: AQHXosrDneVdLEaHWkmzNcFc2GcrO6uWtsrQ Date: Mon, 6 Sep 2021 09:04:50 +0000 Message-ID: References: <20210906025530.279219-1-benjamin.doron00@gmail.com> In-Reply-To: <20210906025530.279219-1-benjamin.doron00@gmail.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4eac3314-ab98-4dc0-d01e-08d971156263 x-ms-traffictypediagnostic: BN6PR11MB1249: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4125; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8qPZUyCJjFAO6MR9UvHc4BFnUpqZhHp/Co5buFsnIyxLdzgmRHdBNVfxpzCQZzdwCed3qm7690a+UHBNEyzUHEva2Kv1gHRYoe+sJiYXk18d8Go4aTMDOiGj6hqzW+F0hiPnKXbyTzAn59DNjrAjN3TExfqdqRakTe9LjrwgVM7TT28FUqrjmA9lXDb9wQ/Ncx1I5g9uSsStt+Q853o/q4PNaKFFIieVeS+fuRQl5pOdXrL2bV+MOnyS3vyhDiZOtPISqHMqjv6h445MIypWFU00yDljTwHLlGvzndBgXdL++5x6FteAoQR8NXLudxVKJzgfecOYm8+Ikkd48Eoy1XuYWGVHl7hG6kGSYqDWmQ/LNfYamkSRy3YqLgb3EeXa1hNaDPA2I/rrXidVL3XdWfJW2WHh6z6rsV8EmxccP90KZMwFctuQnY02XyMfTb8U4u0I1uG7qJTHTXuT5SeqKf0tKhyv4JYGpy/vRP1RXowjqQF6fyuXHcp6WiJPvg6pCKF2J2lYU3yrBv2CIet+ICcDibMqjQnHMvTedjd2UbUBbP1On7TbsEsVgzzIowQzAWIMkJ9qSG+qeV8sdYitK5Ogi7sKQM3E4t85Xih2bZ8NEg8W3U9I4COdSMOP6P1hhrp23/c6ZfA0MbBr2JUW2azw+WoQ1A7TSjg0YrUxLUPHGj0f58TH6/Usp9qHNk0rlAK6DcLb4WvngNMFs04rkw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(366004)(396003)(39860400002)(346002)(136003)(376002)(478600001)(186003)(5660300002)(26005)(71200400001)(38100700002)(86362001)(110136005)(107886003)(9686003)(316002)(122000001)(2906002)(6506007)(53546011)(38070700005)(7696005)(55016002)(4326008)(8676002)(8936002)(76116006)(66446008)(66556008)(66946007)(66476007)(64756008)(52536014)(83380400001)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?IKKjpN5oDUStAzB1fPhLwB9uio8yjGbmNvmZKbOc5vBLHo0PrJP59E2WqS6G?= =?us-ascii?Q?sAQLwL+GfiPSaiCk2hiq18kIXjhRIQTaUkhMOWMp2UChsiwLP/Y2WXLDD9jV?= =?us-ascii?Q?fv8q2hBSQdR2JJHhntP/gmGuVgm8UYqDV1GhN/coh/crgE/hW4ft5KDlsr6A?= =?us-ascii?Q?xwwHXqC5I+COlkIm/W3GzIcMJHnONmD8sWu9vFrnqYKZQZaJF9lfw93Ez+Mr?= =?us-ascii?Q?GOAvo3OxET+MqtKQU/pwR+4rVFcUl6cERN6W/gpl9iNeYXzqBgCQ4cHFLWOM?= =?us-ascii?Q?tJF5sCjP3Qr1bfpT9SbbRgyOlDF4kx8dZYpUjApqp6koy3hTiEMtvpheAKwG?= =?us-ascii?Q?GiLJcSllk3IZH8qC/lC9wstXl3onwAikP6BiZhMuqxdTi2hd05D75pYWpjCH?= =?us-ascii?Q?5YfL9KPAcTft25+nCc2vRkwjytxumc8pa7WcVgh+6nc8sAW1HPAR4CK6D3xs?= =?us-ascii?Q?gEAC07ojHUxmPwTMoX6FLgeQzryl6rdaVYhyOhfRXew3tQi9cjHeRNmvyHPG?= =?us-ascii?Q?WHszN5Gpx4kfPADGXf2GZtj8N28t4Rv7ktL7oGVr4xgegevnm/x+I7yWBpug?= =?us-ascii?Q?jFuekSyqaz1eLKwLMVvicqr9stNV6WQAFquTAnk97KTMuhIe0AlOQrvAoTy3?= =?us-ascii?Q?Cdywx0rH9xJp7ViPhIv/ug1bX1wz/Qdlv7YHnJHwQ9tWHncVzfr+wmHD2o9j?= =?us-ascii?Q?Hk27Tu981fRdLopzfAFKR8ueeRhqsTfujdVRpIR+EdMYSN0vbdwNL64Lmgyn?= =?us-ascii?Q?QDpnFSZTfxEHaRfcnoaEtBTT/Imuz0O6Iwo23BjWudisylAXkgIObZ/VUomy?= =?us-ascii?Q?QQv6G9IrbH7pZ//W7DffK9BR5oy2gd0hFVKFh3erus9PA4PFwDDUh6/ASNug?= =?us-ascii?Q?RBa0bOytCo1AnkcPRET606JhKoFoVp+VMV/bUUPA4sRriQ2hjns/0jIFvO0p?= =?us-ascii?Q?vFcSFOqZsyKHeG+mf1MKaYvP5KQq+hqlZj+3GMb7uvvLWUs8hu/J3HKrehra?= =?us-ascii?Q?mSuEfmhAR7meBGcrpKtXS44uCJWOkLS4dtSX0vDLzbgEsnmpNt9wM6SDa3J/?= =?us-ascii?Q?ev1Acj4HzM3xNByP+zHtpcrS5s4jly2ZawiXEPN/GtTuV/NN8Vvb4mNwrF60?= =?us-ascii?Q?Lzvg+kiuvhyW7InXNpg71s0VW7hmtCPrDaFRj3Jy2F+0ImVithtvlGAfHnTO?= =?us-ascii?Q?YvlsUKneTkhCqLgX7s0GSMLA2LnMM8CCOHWuGIa4W49wz4SbCpRB5Rua5xaW?= =?us-ascii?Q?V/0Ey14bLoivQvyZB7in/1eXvUS9OsfewhEOpIDWiHrHMeDAcwzHpOyECe9U?= =?us-ascii?Q?CDB26W4jl8cK2gkLUZt42zwX?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4eac3314-ab98-4dc0-d01e-08d971156263 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2021 09:04:50.7301 (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: LxMsVb9JBGHoE7Yj4JTUSq+VarJDtJb3DI4SERgzh6FerAk1CGV/tVY1SMF/+wrH56iqThxwtKXguKGJU9K/eg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1249 Return-Path: chasel.chiu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Chasel Chiu > -----Original Message----- > From: Benjamin Doron > Sent: Monday, September 6, 2021 10:55 AM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L > > Subject: [edk2-platforms][PATCH v4 1/2] > KabylakeOpenBoardPkg/AspireVn7Dash572G/BoardEcLib: Check for NULL >=20 > Check that data pointers are not NULL and update the documented return > values. Also update some notes on this library. >=20 > Cc: Chasel Chiu > Cc: Nate DeSimone > Signed-off-by: Benjamin Doron > --- >=20 > Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Include/Library/Bo > ardEcLib.h | 40 +++++------ >=20 > Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Library/BoardEcLib > /EcCommands.c | 70 ++++++++++++-------- > 2 files changed, 58 insertions(+), 52 deletions(-) >=20 > diff --git > a/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Include/Library/ > BoardEcLib.h > b/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Include/Library/ > BoardEcLib.h > index 2e7e0573900a..8bb4cccb8f19 100644 > --- > a/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Include/Library/ > BoardEcLib.h > +++ b/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Include/Libr > +++ ary/BoardEcLib.h > @@ -12,12 +12,13 @@ > /** Reads a byte of EC RAM. - @param[in] Address Address to= read- > @param[out] Data Data received+ @param[in] Address = Address > to read+ @param[out] Data Data received - @retval E= FI_SUCCESS > Command success- @retval EFI_DEVICE_ERROR Command error- @retval > EFI_TIMEOUT Command timeout+ @retval EFI_SUCCESS Com= mand > success+ @retval EFI_INVALID_PARAMETER Data is NULL+ @retval > EFI_DEVICE_ERROR Command error+ @retval EFI_TIMEOUT > Command timeout **/ EFI_STATUS EcCmd90Read (@@ -44,11 +45,12 @@ > EcCmd91Write ( > /** Query the EC status. - @param[out] Status EC status byt= e+ > @param[out] Status EC status byte - @retval EFI_SUCCES= S > Command success- @retval EFI_DEVICE_ERROR Command error- @retval > EFI_TIMEOUT Command timeout+ @retval EFI_SUCCESS Com= mand > success+ @retval EFI_INVALID_PARAMETER Data is NULL+ @retval > EFI_DEVICE_ERROR Command error+ @retval EFI_TIMEOUT > Command timeout **/ EFI_STATUS EcCmd94Query (@@ -58,12 +60,8 @@ > EcCmd94Query ( > /** Reads a byte of EC (index) RAM. - @param[in] Address Ad= dress to > read- @param[out] Data Data received-- @retval EFI_SUCCE= SS > Command success- @retval EFI_DEVICE_ERROR Command error- @retval > EFI_TIMEOUT Command timeout+ @param[in] Address Add= ress to > read+ @param[out] Data Data received **/ VOID EcIdxRead= (@@ - > 74,12 +72,8 @@ EcIdxRead ( > /** Writes a byte of EC (index) RAM. - @param[in] Address A= ddress to > read- @param[out] Data Data received-- @retval EFI_SUCCE= SS > Command success- @retval EFI_DEVICE_ERROR Command error- @retval > EFI_TIMEOUT Command timeout+ @param[in] Address Address t= o > read+ @param[in] Data Data received **/ VOID EcIdxWrite (@@ = -91,10 > +85,8 @@ EcIdxWrite ( > Read EC analog-digital converter. TODO: Check if ADC is valid. + @p= aram[in] > Adc @param[out] DataBuffer-- @retval EFI_SUCCESS Command suc= cess- > @retval EFI_DEVICE_ERROR Command error **/ VOID ReadEcAdcConverter > (diff --git > a/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Library/BoardEcL > ib/EcCommands.c > b/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Library/BoardEcL > ib/EcCommands.c > index 09b2b5ee9180..ea8a8ae11e4d 100644 > --- > a/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Library/BoardEcL > ib/EcCommands.c > +++ b/Platform/Intel/KabylakeOpenBoardPkg/AspireVn7Dash572G/Library/Boar > +++ dEcLib/EcCommands.c > @@ -12,18 +12,22 @@ > #include #include -/* TODO - Impleme= nt:+/* > Notes:+ * - ACPI "CMDB": Writing to this offset is equivalent to sending > commands.+ * The CMDx bytes contain the command parameters.+ *+ * TODO > - Implement: * - Commands: 0x58, 0xE1 and 0xE2 * - 0x51, 0x52: EC= flash > write? * - ACPI CMDB: 0x63 and 0x64, 0xC7 * - 0x0B: Flash write (= Boolean > argument? Set in offset 0x0B?) *- * NB: Consider that if a vendor's UEFI= driver > consumes- * unimplemented PPI/protocol, the driver is dead code.+ * > Reversing vendor's protocols:+ * - Only read and write are used.+ * - Que= ry, > ACPI "CMDB" processing and command 58 are unused.+ * - Equivalent KbcPeim > is an unused PPI. *- * NOTE: Check protocol use.- * - Commands deliver= ed > across vendor's modules- * - EC writes also control behaviour+ * NB: Al= so look > for potential EC library */ #define EC_INDEX_IO_PORT 0x1200@= @ - > 34,12 +38,13 @@ > /** Reads a byte of EC RAM. - @param[in] Address Address to= read- > @param[out] Data Data received+ @param[in] Address = Address > to read+ @param[out] Data Data received - @retval E= FI_SUCCESS > Command success- @retval EFI_DEVICE_ERROR Command error- @retval > EFI_TIMEOUT Command timeout+ @retval EFI_SUCCESS Com= mand > success+ @retval EFI_INVALID_PARAMETER Data is NULL+ @retval > EFI_DEVICE_ERROR Command error+ @retval EFI_TIMEOUT > Command timeout **/ EFI_STATUS EcCmd90Read (@@ -49,6 +54,10 @@ > EcCmd90Read ( > { EFI_STATUS Status; + if (Data =3D=3D NULL) {+ re= turn > EFI_INVALID_PARAMETER;+ }+ Status =3D SendEcCommand (0x90); if > (EFI_ERROR (Status)) { DEBUG((DEBUG_ERROR, "%a(): SendEcCommand(0x90) > failed!\n", __FUNCTION__));@@ -110,11 +119,12 @@ EcCmd91Write ( > /** Query the EC status. - @param[out] Status EC status byt= e+ > @param[out] Status EC status byte - @retval EFI_SUCCES= S > Command success- @retval EFI_DEVICE_ERROR Command error- @retval > EFI_TIMEOUT Command timeout+ @retval EFI_SUCCESS Com= mand > success+ @retval EFI_INVALID_PARAMETER Data is NULL+ @retval > EFI_DEVICE_ERROR Command error+ @retval EFI_TIMEOUT > Command timeout **/ EFI_STATUS EcCmd94Query (@@ -123,6 +133,10 @@ > EcCmd94Query ( > { EFI_STATUS Status; + if (Data =3D=3D NULL) {+ re= turn > EFI_INVALID_PARAMETER;+ }+ Status =3D SendEcCommand (0x94); if > (EFI_ERROR (Status)) { DEBUG((DEBUG_ERROR, "%a(): SendEcCommand(0x94) > failed!\n", __FUNCTION__));@@ -140,11 +154,8 @@ EcCmd94Query ( > /** Reads a byte of EC (index) RAM. - @param[in] Address Ad= dress to > read- @param[out] Data Data received-- @retval EFI_SUCCE= SS > Command success- @retval EFI_DEVICE_ERROR Command error+ > @param[in] Address Address to read+ @param[out] Data > Data received **/ VOID EcIdxRead (@@ -152,6 +163,10 @@ EcIdxRead ( > OUT UINT8 *Data ) {+ if (Data =3D=3D NULL) {+ r= eturn;+ }+ IoWrite8 > (EC_INDEX_IO_HIGH_ADDR_PORT, Address >> 8); IoWrite8 > (EC_INDEX_IO_LOW_ADDR_PORT, Address); *Data =3D IoRead8 > (EC_INDEX_IO_DATA_PORT);@@ -160,11 +175,8 @@ EcIdxRead ( > /** Writes a byte of EC (index) RAM. - @param[in] Address A= ddress to > read- @param[out] Data Data received-- @retval EFI_SUCCE= SS > Command success- @retval EFI_DEVICE_ERROR Command error+ > @param[in] Address Address to read+ @param[in] Data = Data > received **/ VOID EcIdxWrite (@@ -181,10 +193,8 @@ EcIdxWrite ( > Read EC analog-digital converter. TODO: Check if ADC is valid. + @p= aram[in] > Adc @param[out] DataBuffer-- @retval EFI_SUCCESS Command suc= cess- > @retval EFI_DEVICE_ERROR Command error **/ VOID ReadEcAdcConverter > (@@ -195,6 +205,10 @@ ReadEcAdcConverter ( > UINT8 AdcConvertersEnabled; // Contains some ADCs and some= DACs > UINT8 IdxData; + if (DataBuffer =3D=3D NULL) {+ return;+ = }+ // Backup > enabled ADCs EcIdxRead (0xff15, &AdcConvertersEnabled); // ADDAEN -- > 2.31.1