ft2232_spi: Normalize error paths in ft2232_shutdown()

We missed to `free(spi_data)` on one path. It also seems odd to leak
the return code of a locally used library into our common infrastruc-
ture, so normalize all error paths to return 1.

Change-Id: I5158d06127a9a8934b083e48b69d29c4d5a11831
Signed-off-by: Nico Huber <nico.h@gmx.de>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/55696
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Original-Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Original-Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71394
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/ft2232_spi.c b/ft2232_spi.c
index 62701c3..68e9741 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -166,10 +166,10 @@
 
 static int ft2232_shutdown(void *data)
 {
-	int f;
 	struct ft2232_data *spi_data = (struct ft2232_data *)data;
 	struct ftdi_context *ftdic = &spi_data->ftdi_context;
 	unsigned char buf[3];
+	int ret = 0;
 
 	msg_pdbg("Releasing I/Os\n");
 	buf[0] = SET_BITS_LOW;
@@ -178,16 +178,18 @@
 	if (send_buf(ftdic, buf, 3)) {
 		msg_perr("Unable to set pins back inputs: (%s)\n",
 		         ftdi_get_error_string(ftdic));
+		ret = 1;
 	}
 
-	if ((f = ftdi_usb_close(ftdic)) < 0) {
-		msg_perr("Unable to close FTDI device: %d (%s)\n", f,
+	const int close_ret = ftdi_usb_close(ftdic);
+	if (close_ret < 0) {
+		msg_perr("Unable to close FTDI device: %d (%s)\n", close_ret,
 		         ftdi_get_error_string(ftdic));
-		return f;
+		ret = 1;
 	}
 
 	free(spi_data);
-	return 0;
+	return ret;
 }
 
 static bool ft2232_spi_command_fits(const struct spi_command *cmd, size_t buffer_size)