Attention is currently required from: Alan Green, Anastasia Klimchuk.

Nico Huber would like Alan Green and Anastasia Klimchuk to review this change.

View Change

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>
---
M ft2232_spi.c
1 file changed, 7 insertions(+), 5 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/96/55696/1
diff --git a/ft2232_spi.c b/ft2232_spi.c
index e546f6c..fbea0f9 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -170,10 +170,10 @@

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 @@
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)

To view, visit change 55696. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I5158d06127a9a8934b083e48b69d29c4d5a11831
Gerrit-Change-Number: 55696
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Alan Green <avg@google.com>
Gerrit-Reviewer: Anastasia Klimchuk <aklm@chromium.org>
Gerrit-Attention: Alan Green <avg@google.com>
Gerrit-Attention: Anastasia Klimchuk <aklm@chromium.org>
Gerrit-MessageType: newchange