fit: Handle decompression errors properly

Set payload to NULL in case of decompression errors.
Fixes the attempt to boot a kernel that couldn't be decompressed.

Change-Id: I3a602b0e90923a0b5a3683c4a0adf9e4733d5a2a
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/27970
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/lib/fit_payload.c b/src/lib/fit_payload.c
index ada22e8..9dbd878 100644
--- a/src/lib/fit_payload.c
+++ b/src/lib/fit_payload.c
@@ -163,6 +163,7 @@
 	if (config->ramdisk_node &&
 	    extract(&initrd, config->ramdisk_node)) {
 		printk(BIOS_ERR, "ERROR: Failed to extract initrd\n");
+		prog_set_entry(payload, NULL, NULL);
 		rdev_munmap(prog_rdev(payload), data);
 		return;
 	}
@@ -171,6 +172,7 @@
 
 	if (extract(&kernel, config->kernel_node)) {
 		printk(BIOS_ERR, "ERROR: Failed to extract kernel\n");
+		prog_set_entry(payload, NULL, NULL);
 		rdev_munmap(prog_rdev(payload), data);
 		return;
 	}