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

Reply via email to