summaryrefslogtreecommitdiffstats
path: root/ft2232_spi.c
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2021-06-20 16:38:57 +0200
committerNico Huber <nico.h@gmx.de>2021-06-25 12:56:23 +0000
commite1e0c597db71e1abf4e1eedf0f4927b260f9dfef (patch)
tree5a8fb2e21a30cbf0e8d492252a4522b5924cb54e /ft2232_spi.c
parentf0915dbc6b0f3af6931280c9e79b72f384926615 (diff)
downloadflashrom-e1e0c597db71e1abf4e1eedf0f4927b260f9dfef.tar.gz
flashrom-e1e0c597db71e1abf4e1eedf0f4927b260f9dfef.tar.bz2
flashrom-e1e0c597db71e1abf4e1eedf0f4927b260f9dfef.zip
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> Reviewed-on: https://review.coreboot.org/c/flashrom/+/55696 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Diffstat (limited to 'ft2232_spi.c')
-rw-r--r--ft2232_spi.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/ft2232_spi.c b/ft2232_spi.c
index 0d0c32c8d..82777a2c2 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -170,10 +170,10 @@ static int get_buf(struct ftdi_context *ftdic, const unsigned char *buf,
static int ft2232_shutdown(void *data)
{
- int f;
struct ft2232_data *spi_data = (struct ft2232_data *) data;
struct ftdi_context *ftdic = &spi_data->ftdic_context;
unsigned char buf[3];
+ int ret = 0;
msg_pdbg("Releasing I/Os\n");
buf[0] = SET_BITS_LOW;
@@ -182,16 +182,18 @@ static int ft2232_shutdown(void *data)
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)