amdfwtool: Remove the dissociated combo BIOS table for recovery A/B

For recovery A/B mode, the BIOS tables level 2 are traced by PSP table
instead of ROMSIG. There should not be a dedicated BIOS table, nor a
combo BIOS table.

Change-Id: I8735bd91b32bc9a0e4fc70d293e8d836d5e9c36b
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81137
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c
index 3e71832..35d6cdf 100644
--- a/util/amdfwtool/amdfwtool.c
+++ b/util/amdfwtool/amdfwtool.c
@@ -1600,7 +1600,8 @@
 
 		adjust_current_pointer(&ctx, 0, 0x1000U);
 
-		bhd_combo_dir = new_combo_dir(&ctx);
+		if (!cb_config.recovery_ab)
+			bhd_combo_dir = new_combo_dir(&ctx);
 	}
 
 	combo_index = 0;
@@ -1723,7 +1724,10 @@
 			if (!cb_config.use_combo) {
 				fill_bios_directory_to_efs(amd_romsig, biosdir,
 					&ctx, &cb_config);
-			} else {
+			} else if (bhd_combo_dir != NULL) {
+				/* In recovery A/B mode, there isn't a BHD combo directory.
+				 * Instead, the BIOS tables level 2 are linked by PSP tables.
+				 */
 				fill_bios_directory_to_efs(amd_romsig, bhd_combo_dir,
 					&ctx, &cb_config);
 				assert_fw_entry(combo_index, MAX_COMBO_ENTRIES, &ctx);