1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00

raiden_debug_spi: Add more informative error message when WP is enabled

Current error messages are not very helpful when attempting to flash a
target that has WP enabled. This change checks for the USB_SPI_DISABLED
error that occurs in this case and gives a more informative error
message.

BUG=b:210645611
TEST=Tested with WP enabled and disable to verify that error message is
displayed properly

Signed-off-by: Robert Zieba <robertzieba@google.com>
Change-Id: Ib1e8383baa9c3ea41ab1079af12e3dc8cdff90ae
Reviewed-on: https://review.coreboot.org/c/flashrom/+/62909
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
Robert Zieba 2022-03-17 14:23:38 -06:00 committed by Edward O'Callaghan
parent 8abe12e86e
commit e41620ec06

View File

@ -343,6 +343,7 @@
#include "usb_device.h" #include "usb_device.h"
#include <libusb.h> #include <libusb.h>
#include <stdint.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -983,6 +984,22 @@ static int get_spi_config_v2(struct raiden_debug_spi_data *ctx_data)
return status; return status;
} }
/*
* Check if we received an error from the device. An error will have no
* response data, just the packet_id and status_code.
*/
const size_t err_packet_size = sizeof(struct usb_spi_response_v2) -
USB_SPI_PAYLOAD_SIZE_V2_RESPONSE;
if (rsp_config.packet_size == err_packet_size &&
rsp_config.packet_v2.rsp_start.status_code !=
USB_SPI_SUCCESS) {
status = rsp_config.packet_v2.rsp_start.status_code;
if (status == USB_SPI_DISABLED) {
msg_perr("Raiden: Target SPI bridge is disabled (is WP enabled?)\n");
return status;
}
}
msg_perr("Raiden: Packet is not a valid config\n" msg_perr("Raiden: Packet is not a valid config\n"
" config attempt = %d\n" " config attempt = %d\n"
" packet id = %u\n" " packet id = %u\n"