From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B8C501A1E34 for ; Mon, 29 Aug 2016 08:24:46 -0700 (PDT) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP; 29 Aug 2016 08:24:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,597,1464678000"; d="scan'208";a="872221919" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga003.jf.intel.com with ESMTP; 29 Aug 2016 08:24:46 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 29 Aug 2016 08:24:45 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 29 Aug 2016 08:24:45 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.109]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.166]) with mapi id 14.03.0248.002; Mon, 29 Aug 2016 23:24:43 +0800 From: "Zhang, Chao B" To: "Ankit_Singh3@Dell.com" CC: "edk2-devel@lists.01.org" , "Gao, Liming" Thread-Topic: [EDK2] DxeCapsuleLib returns Status Issue Thread-Index: AdH98GtsCy4QvCtoQNmxQMae1pGCQwAANJIAAPYzTiAAAMXxUAALuByg Date: Mon, 29 Aug 2016 15:24:43 +0000 Message-ID: References: <4A89E2EF3DFEDB4C8BFDE51014F606A14B3D62F7@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14B3D62F7@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMDM5ZGVmNjEtNzNmMC00ZGRhLThkZDctYzJkMmY1YTVkOTZjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IlNRamRzc2xseVRKSGFtOFRxY1p0VzhMU0tOZVQ4MnlxMzh1U0EyQ3ZHZTQ9In0= x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: DxeCapsuleLib returns Status Issue X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2016 15:24:46 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Ankit: It is good to record and return the SetImage status(either success or fa= il) for all the FMP instances matching FMP capsule payload.=20 But how it is returned to application layer is still a platform choice Thanks & Best regards Chao Zhang -----Original Message----- From: Gao, Liming=20 Sent: Monday, August 29, 2016 4:13 PM To: Zhang, Chao B Subject: FW: [EDK2] DxeCapsuleLib returns Status Issue -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Anki= t_Singh3@Dell.com Sent: Monday, August 29, 2016 3:51 PM To: edk2-devel@lists.01.org Subject: [edk2] [EDK2] DxeCapsuleLib returns Status Issue Dell - Internal Use - Confidential Hi EDK2 Developers, We are incorporating DxeCapsuleLib for FMP Capsule Update into our UEFI pro= duct, but we are hitting few issues as described below. In case of Capsule Update "SetImage" is randomly done for all the FMP Handl= es in case Image Type Id GUID and Image Index matches (this is expected as= there might be multiple similar hardware), but looks like the returns of e= ach FMP update is not handled. For example if there are 5 FMP handles (can be for different-different devi= ces) and assume that any particular device handle is at 3rd index, therefor= e the update goes through successfully on the 3rd attempt but since HandleC= ount value is 5 it tries further with 4th and 5th Handle. This 4th & 5th Ha= ndle attempt can fail for any of the calls within the FMP Handle "for loop"= (HandleProtocol/GetImageInfo) and hence the final status is returned as FA= ILURE to application layer. Below is the code-snippet from DxeCapsuleLib.c , in case of HandleProtocol = & GetImageInfo failure, "for" loop for Handle count is continued and the pr= evious Status value is over-written with this new return (return from Handl= eProtocol & GetImageInfo) and finally returned to application. [cid:image001.jpg@01D201F8.38564220] Proposed Solution:- Can ProcessFmpCapsuleImage() have an extra OUT parameter which gives the li= st of all successful FMP Handles along with the updated GUID values, so tha= t any application can make the judgment of Update SUCCESS/FAILURE based on = FMP Handle and proceed accordingly at application layer. Regards, Ankit Singh _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel