Hi That is good problem statement. Do you think we can use Capsule Status Variable to record such information? It is defined in UEFI spec - "7.5.6 UEFI variable reporting on the Success or any Errors encountered in processing of capsules after restart"
The application can use this standard way to check status. Thank you Yao Jiewen > -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > [email protected] > Sent: Monday, August 29, 2016 3:51 PM > To: [email protected] > 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 > product, but we are hitting few issues as described below. > > In case of Capsule Update "SetImage" is randomly done for all the FMP > Handles 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 each FMP update is not handled. > For example if there are 5 FMP handles (can be for different-different > devices) and assume that any particular device handle is at 3rd index, > therefore the update goes through successfully on the 3rd attempt but since > HandleCount value is 5 it tries further with 4th and 5th Handle. This 4th & > 5th > Handle attempt can fail for any of the calls within the FMP Handle "for loop" > (HandleProtocol/GetImageInfo) and hence the final status is returned as > FAILURE 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 > previous Status value is over-written with this new return (return from > HandleProtocol & GetImageInfo) and finally returned to application. > [cid:[email protected]] > > > Proposed Solution:- > Can ProcessFmpCapsuleImage() have an extra OUT parameter which gives > the list of all successful FMP Handles along with the updated GUID values, so > that 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 > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

