trivial: dell-dock: fail when EC indicates flashing an invalid/unsigned image

Otherwise this would cause fwupd to sit in an endless loop when providing a bad
image.

This additional enum is only available in EC16, but since it doesn't break existing
API on older EC images, don't bump minimum requirement to EC16 yet.
This commit is contained in:
Mario Limonciello 2018-11-26 14:05:19 -06:00 committed by Richard Hughes
parent ec6190c4bf
commit 1210332e05

View File

@ -40,6 +40,7 @@
typedef enum {
FW_UPDATE_IN_PROGRESS,
FW_UPDATE_COMPLETE,
FW_UPDATE_AUTHENTICATION_FAILED,
} FuDellDockECFWUpdateStatus;
const FuHIDI2CParameters ec_base_settings = {
@ -723,6 +724,13 @@ fu_dell_dock_ec_write_fw (FuDevice *device, GBytes *blob_fw,
error_local->message, status);
return TRUE;
}
if (status == FW_UPDATE_AUTHENTICATION_FAILED) {
g_set_error_literal (error,
FWUPD_ERROR,
FWUPD_ERROR_NOT_SUPPORTED,
"invalid EC firmware image");
return FALSE;
}
}
/* dock will reboot to re-read; this is to appease the daemon */