soc/amd/common/lpc/espi_util: handle espi_get_configuration error

In espi_wait_channel_ready the return value of espi_get_configuration
didn't get checked before. In the case of the espi_send_command call in
espi_get_configuration returning CB_ERR, espi_get_configuration didn't
write to the local config variable, so if this happens in the first pass
of the do-while loop, the following espi_slave_is_channel_ready call
would use the uninitialized local config variable as parameter. Fix this
by checking the return value of espi_get_configuration.

TEST=None

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Iff1a0670e17b9d6c6f4daf2ea56badf6c428b8c9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/60209
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
diff --git a/src/soc/amd/common/block/lpc/espi_util.c b/src/soc/amd/common/block/lpc/espi_util.c
index 1d7be67..d9b4715 100644
--- a/src/soc/amd/common/block/lpc/espi_util.c
+++ b/src/soc/amd/common/block/lpc/espi_util.c
@@ -772,7 +772,8 @@
 
 	stopwatch_init_usecs_expire(&sw, ESPI_CH_READY_TIMEOUT_US);
 	do {
-		espi_get_configuration(slave_reg_addr, &config);
+		if (espi_get_configuration(slave_reg_addr, &config) != CB_SUCCESS)
+			return CB_ERR;
 		if (espi_slave_is_channel_ready(config))
 			return CB_SUCCESS;
 	} while (!stopwatch_expired(&sw));