efi_loader: correct logging StartImage()

When logging running an image, e.g. `bootefi hello` the indent is not
correctly reset.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 0d858c1..5bf271a 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -245,6 +245,18 @@
 	_r; \
 })
 
+/**
+ * define EFI_RETURN() - return from EFI_CALL in efi_start_image()
+ *
+ * @ret:	status code
+ */
+#define EFI_RETURN(ret) ({ \
+	typeof(ret) _r = ret; \
+	assert(__efi_entry_check()); \
+	debug("%sEFI: %lu returned by started image", __efi_nesting_dec(), \
+	      (unsigned long)((uintptr_t)_r & ~EFI_ERROR_MASK)); \
+})
+
 /*
  * Call void UEFI function from u-boot:
  */
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 723a9b5..db54438 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -3256,11 +3256,10 @@
 		 * To get ready to call EFI_EXIT below we have to execute the
 		 * missed out steps of EFI_CALL.
 		 */
-		assert(__efi_entry_check());
-		EFI_PRINT("%lu returned by started image\n",
-			  (unsigned long)((uintptr_t)exit_status &
-			  ~EFI_ERROR_MASK));
+		EFI_RETURN(exit_status);
+
 		current_image = parent_image;
+
 		return EFI_EXIT(exit_status);
 	}