drivers/intel/fsp1_1: Exit cleanly if FSP not found

Instead of dereferencing a null pointer, print a nice message and exit
cleanly if the FSP isn't found in the CBFS.

Change-Id: I761e7febc7cec5bd2ef3af214bc51777ee5c313d
Signed-off-by: Jacob Garber <jgarber1@ualberta.ca>
Found-by: Coverity CID 1401467, 1401717
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33049
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/drivers/intel/fsp1_1/car.c b/src/drivers/intel/fsp1_1/car.c
index 82dc320..41a02f3 100644
--- a/src/drivers/intel/fsp1_1/car.c
+++ b/src/drivers/intel/fsp1_1/car.c
@@ -160,17 +160,14 @@
 {
 	/* Need to locate the current FSP_INFO_HEADER. The cache-as-ram
 	 * is still enabled. We can directly access work buffer here. */
-	FSP_INFO_HEADER *fih;
 	struct prog fsp = PROG_INIT(PROG_REFCODE, "fsp.bin");
 
-	if (prog_locate(&fsp)) {
-		fih = NULL;
-		printk(BIOS_ERR, "Unable to locate %s\n", prog_name(&fsp));
-	} else {
-		/* This leaks a mapping which this code assumes is benign as
-		 * the flash is memory mapped CPU's address space. */
-		fih = find_fsp((uintptr_t)rdev_mmap_full(prog_rdev(&fsp)));
-	}
+	if (prog_locate(&fsp))
+		die_with_post_code(POST_INVALID_CBFS, "Unable to locate fsp.bin");
+
+	/* This leaks a mapping which this code assumes is benign as
+	 * the flash is memory mapped CPU's address space. */
+	FSP_INFO_HEADER *fih = find_fsp((uintptr_t)rdev_mmap_full(prog_rdev(&fsp)));
 
 	cache_as_ram_stage_main(fih);
 }