From 0f0f952740022e48cf2b98de6604566fce6eff6f Mon Sep 17 00:00:00 2001 From: Alexander Goncharov Date: Fri, 20 Jan 2023 14:21:08 +0400 Subject: [PATCH] ni845x_spi: handle errors using goto during initialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch prepares the programmer to move global singleton states into a struct. TOPIC=register_master_api Change-Id: Ie9620d59db229729fd8523f99b0917d938bcc4ed Signed-off-by: Alexander Goncharov Ticket: https://ticket.coreboot.org/issues/391 Reviewed-on: https://review.coreboot.org/c/flashrom/+/72156 Reviewed-by: Miklós Márton Tested-by: build bot (Jenkins) Reviewed-by: Anastasia Klimchuk --- ni845x_spi.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ni845x_spi.c b/ni845x_spi.c index cb6b22ea7..58a8ef4ec 100644 --- a/ni845x_spi.c +++ b/ni845x_spi.c @@ -622,22 +622,24 @@ static int ni845x_spi_init(const struct programmer_cfg *cfg) tmp = ni845xSpiConfigurationOpen(&configuration_handle); if (tmp != 0) { ni845x_report_error("ni845xSpiConfigurationOpen", tmp); - ni845x_spi_shutdown(NULL); - return 1; + goto err; } if (usb8452_spi_set_io_voltage(requested_io_voltage_mV, &io_voltage_in_mV, USE_LOWER, device_pid, device_handle) < 0) { - ni845x_spi_shutdown(NULL); - return 1; // no alert here usb8452_spi_set_io_voltage already printed that + // no alert here usb8452_spi_set_io_voltage already printed that + goto err; } if (ni845x_spi_set_speed(configuration_handle, spi_speed_KHz)) { msg_perr("Unable to set SPI speed\n"); - ni845x_spi_shutdown(NULL); - return 1; + goto err; } return register_spi_master(&spi_programmer_ni845x, NULL); + +err: + ni845x_spi_shutdown(NULL); + return 1; } const struct programmer_entry programmer_ni845x_spi = {