When dealing with processing of the empty capsule, the capsule gets
applied only when the checks for the empty capsule pass. Print a
message to highlight if empty capsule checks fail, and return an error
value, similar to the normal capsules.

Signed-off-by: Sughosh Ganu <[email protected]>
---
Changes since V1: New patch

 lib/efi_loader/efi_capsule.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
index 635088f25a..22677f395b 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
@@ -563,9 +563,14 @@ static efi_status_t efi_capsule_update_firmware(
        bool fw_accept_os;
 
        if (IS_ENABLED(CONFIG_FWU_MULTI_BANK_UPDATE)) {
-               if (fwu_empty_capsule_checks_pass() &&
-                   fwu_empty_capsule(capsule_data))
-                       return fwu_empty_capsule_process(capsule_data);
+               if (fwu_empty_capsule(capsule_data)) {
+                       if (fwu_empty_capsule_checks_pass()) {
+                               return fwu_empty_capsule_process(capsule_data);
+                       } else {
+                               log_err("FWU empty capsule checks failed. 
Cannot start update\n");
+                               return EFI_INVALID_PARAMETER;
+                       }
+               }
 
                if (!fwu_update_checks_pass()) {
                        log_err("FWU checks failed. Cannot start update\n");
-- 
2.34.1

Reply via email to