From 1210332e0541a50b81f82a8f39b38cebbe461eb6 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 26 Nov 2018 14:05:19 -0600 Subject: [PATCH] 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. --- plugins/dell-dock/fu-dell-dock-i2c-ec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/dell-dock/fu-dell-dock-i2c-ec.c b/plugins/dell-dock/fu-dell-dock-i2c-ec.c index 00e8d6baf..4c6b506b7 100644 --- a/plugins/dell-dock/fu-dell-dock-i2c-ec.c +++ b/plugins/dell-dock/fu-dell-dock-i2c-ec.c @@ -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 */