mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 14:11:15 +02:00
raiden_debug_spi.c: Enables USB retry for invalid write count
Enables the USB SPI transfer retry mechanism when the error code USB_SPI_WRITE_COUNT_INVALID is returned. This error code can indicate a recoverable USB transfer failure. BUG=b:153887087 BRANCH=none TEST=Manual testing of ServoMicro and Flashrom when performing reads, writes, and verification of the EC firmware on Nami. TEST=Modified ServoMicro to randomly corrupt USB packets when reading the packet length to replicate bad packets and the verify recovery is successful. Change-Id: I9e6b2ccec0b06aab0d6920f1bddf108058e5d6b1 Signed-off-by: Brian J. Nemec <bnemec@chromium.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/41152 Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:

committed by
Edward O'Callaghan

parent
a5cbe43761
commit
93bfafc0ec
@ -188,9 +188,13 @@ typedef struct {
|
||||
static bool retry_recovery(int error_code)
|
||||
{
|
||||
if (error_code < 0x10000) {
|
||||
/* Handle error codes returned from the device. */
|
||||
if (USB_SPI_WRITE_COUNT_INVALID <= error_code &&
|
||||
error_code <= USB_SPI_DISABLED) {
|
||||
/*
|
||||
* Handle error codes returned from the device. USB_SPI_TIMEOUT,
|
||||
* USB_SPI_BUSY, and USB_SPI_WRITE_COUNT_INVALID have been observed
|
||||
* during transfer errors to the device and can be recovered.
|
||||
*/
|
||||
if (USB_SPI_READ_COUNT_INVALID <= error_code &&
|
||||
error_code <= USB_SPI_DISABLED) {
|
||||
return false;
|
||||
}
|
||||
} else if (usb_device_is_libusb_error(error_code)) {
|
||||
|
Reference in New Issue
Block a user