commit
3de524da81
@ -0,0 +1,12 @@
|
|||||||
|
b2620c36bd23ca699567fd4e4add039ee4375247 SOURCES/DBXUpdate-20100307-x64.cab
|
||||||
|
dfdb1d0d42c1563ca63bd45c7e2ddc48cbfc5023 SOURCES/DBXUpdate-20140413-x64.cab
|
||||||
|
a5f73c606abb93bf61625e4628d27a2cd460f162 SOURCES/DBXUpdate-20160809-x64.cab
|
||||||
|
b5b2dc87daca1d3f8081a323290432c141aa405d SOURCES/DBXUpdate-20200729-aa64.cab
|
||||||
|
3fb407561768a3a2f5fb49d7738b5e0650e70810 SOURCES/DBXUpdate-20200729-ia32.cab
|
||||||
|
89db93c9d9d20f81791a262e817b99d8882c8bb0 SOURCES/DBXUpdate-20200729-x64.cab
|
||||||
|
cd2bbe591438fe893b4042dc03d30659c1e31756 SOURCES/DBXUpdate-20210429-x64.cab
|
||||||
|
d3ae610f5b6e602feded54eae8d67ddb7c60e64f SOURCES/DBXUpdate-20220812-aa64.cab
|
||||||
|
0ac8508ef7a86959e6ab03deec256b19df29677f SOURCES/DBXUpdate-20220812-ia32.cab
|
||||||
|
60f9aa664cb7588e33ce56d621dafa9b5a71e072 SOURCES/DBXUpdate-20220812-x64.cab
|
||||||
|
5e77389b263dd463de85db965d478f7182a9ea0a SOURCES/fwupd-1.8.10.tar.xz
|
||||||
|
147b36f75fca288fd01d9ed4150866344d57df27 SOURCES/fwupd-efi-1.4.tar.xz
|
@ -0,0 +1,12 @@
|
|||||||
|
SOURCES/DBXUpdate-20100307-x64.cab
|
||||||
|
SOURCES/DBXUpdate-20140413-x64.cab
|
||||||
|
SOURCES/DBXUpdate-20160809-x64.cab
|
||||||
|
SOURCES/DBXUpdate-20200729-aa64.cab
|
||||||
|
SOURCES/DBXUpdate-20200729-ia32.cab
|
||||||
|
SOURCES/DBXUpdate-20200729-x64.cab
|
||||||
|
SOURCES/DBXUpdate-20210429-x64.cab
|
||||||
|
SOURCES/DBXUpdate-20220812-aa64.cab
|
||||||
|
SOURCES/DBXUpdate-20220812-ia32.cab
|
||||||
|
SOURCES/DBXUpdate-20220812-x64.cab
|
||||||
|
SOURCES/fwupd-1.8.10.tar.xz
|
||||||
|
SOURCES/fwupd-efi-1.4.tar.xz
|
@ -0,0 +1,110 @@
|
|||||||
|
From 90e5a58736645cdd37bf4c63f9a4056951dfb3f2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Hughes <richard@hughsie.com>
|
||||||
|
Date: Tue, 24 Jan 2023 09:52:17 +0000
|
||||||
|
Subject: [PATCH] Do not make any of the HWIDs setup failures fatal
|
||||||
|
|
||||||
|
It's perfectly okay to have no HWIDs defined.
|
||||||
|
|
||||||
|
Should help with https://github.com/fwupd/fwupd/issues/5402
|
||||||
|
---
|
||||||
|
libfwupdplugin/fu-context.c | 73 +++++++++++--------------------------
|
||||||
|
1 file changed, 21 insertions(+), 52 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libfwupdplugin/fu-context.c b/libfwupdplugin/fu-context.c
|
||||||
|
index 08618b435..11b4b1b38 100644
|
||||||
|
--- a/libfwupdplugin/fu-context.c
|
||||||
|
+++ b/libfwupdplugin/fu-context.c
|
||||||
|
@@ -767,6 +767,8 @@ fu_context_security_changed(FuContext *self)
|
||||||
|
g_signal_emit(self, signals[SIGNAL_SECURITY_CHANGED], 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
+typedef gboolean (*FuContextHwidsSetupFunc)(FuContext *self, FuHwids *hwids, GError **error);
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* fu_context_load_hwinfo:
|
||||||
|
* @self: a #FuContext
|
||||||
|
@@ -786,62 +788,29 @@ fu_context_load_hwinfo(FuContext *self, FuContextHwidFlags flags, GError **error
|
||||||
|
GPtrArray *guids;
|
||||||
|
g_autoptr(GError) error_hwids = NULL;
|
||||||
|
g_autoptr(GError) error_bios_settings = NULL;
|
||||||
|
+ struct {
|
||||||
|
+ const gchar *name;
|
||||||
|
+ FuContextHwidFlags flag;
|
||||||
|
+ FuContextHwidsSetupFunc func;
|
||||||
|
+ } hwids_setup_map[] = {{"config", FU_CONTEXT_HWID_FLAG_LOAD_CONFIG, fu_hwids_config_setup},
|
||||||
|
+ {"smbios", FU_CONTEXT_HWID_FLAG_LOAD_SMBIOS, fu_hwids_smbios_setup},
|
||||||
|
+ {"fdt", FU_CONTEXT_HWID_FLAG_LOAD_FDT, fu_hwids_fdt_setup},
|
||||||
|
+ {"kenv", FU_CONTEXT_HWID_FLAG_LOAD_KENV, fu_hwids_kenv_setup},
|
||||||
|
+ {"dmi", FU_CONTEXT_HWID_FLAG_LOAD_DMI, fu_hwids_dmi_setup},
|
||||||
|
+ {NULL, FU_CONTEXT_HWID_FLAG_NONE, NULL}};
|
||||||
|
|
||||||
|
g_return_val_if_fail(FU_IS_CONTEXT(self), FALSE);
|
||||||
|
g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
|
||||||
|
|
||||||
|
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_CONFIG) > 0) {
|
||||||
|
- g_autoptr(GError) error_local = NULL;
|
||||||
|
- if (!fu_hwids_config_setup(self, priv->hwids, &error_local)) {
|
||||||
|
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
|
||||||
|
- g_propagate_prefixed_error(error,
|
||||||
|
- g_steal_pointer(&error_local),
|
||||||
|
- "Failed to load HWIDs config: ");
|
||||||
|
- return FALSE;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_DMI) > 0) {
|
||||||
|
- g_autoptr(GError) error_local = NULL;
|
||||||
|
- if (!fu_hwids_dmi_setup(self, priv->hwids, &error_local)) {
|
||||||
|
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
|
||||||
|
- g_propagate_prefixed_error(error,
|
||||||
|
- g_steal_pointer(&error_local),
|
||||||
|
- "Failed to load HWIDs DMI: ");
|
||||||
|
- return FALSE;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_FDT) > 0) {
|
||||||
|
- g_autoptr(GError) error_local = NULL;
|
||||||
|
- if (!fu_hwids_fdt_setup(self, priv->hwids, &error_local)) {
|
||||||
|
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
|
||||||
|
- g_propagate_prefixed_error(error,
|
||||||
|
- g_steal_pointer(&error_local),
|
||||||
|
- "Failed to load HWIDs FDT: ");
|
||||||
|
- return FALSE;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_KENV) > 0) {
|
||||||
|
- g_autoptr(GError) error_local = NULL;
|
||||||
|
- if (!fu_hwids_kenv_setup(self, priv->hwids, &error_local)) {
|
||||||
|
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
|
||||||
|
- g_propagate_prefixed_error(error,
|
||||||
|
- g_steal_pointer(&error_local),
|
||||||
|
- "Failed to load HWIDs kenv: ");
|
||||||
|
- return FALSE;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_SMBIOS) > 0) {
|
||||||
|
- g_autoptr(GError) error_local = NULL;
|
||||||
|
- if (!fu_hwids_smbios_setup(self, priv->hwids, &error_local)) {
|
||||||
|
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
|
||||||
|
- g_propagate_prefixed_error(error,
|
||||||
|
- g_steal_pointer(&error_local),
|
||||||
|
- "Failed to load SMBIOS: ");
|
||||||
|
- return FALSE;
|
||||||
|
+ /* run all the HWID setup funcs */
|
||||||
|
+ for (guint i = 0; hwids_setup_map[i].name != NULL; i++) {
|
||||||
|
+ if ((flags & hwids_setup_map[i].flag) > 0) {
|
||||||
|
+ g_autoptr(GError) error_local = NULL;
|
||||||
|
+ if (!hwids_setup_map[i].func(self, priv->hwids, &error_local)) {
|
||||||
|
+ g_debug("failed to load %s: %s",
|
||||||
|
+ hwids_setup_map[i].name,
|
||||||
|
+ error_local->message);
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
@ -0,0 +1,60 @@
|
|||||||
|
From 19db23f9b8a64597564ce1b474eb6c384a57125f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Hughes <richard@hughsie.com>
|
||||||
|
Date: Wed, 2 Nov 2022 09:31:53 +0000
|
||||||
|
Subject: [PATCH] Only include the 'attribute not exported' warning on debug
|
||||||
|
builds
|
||||||
|
|
||||||
|
End users are not really capable of fixing the root issue, and people seem
|
||||||
|
overly worried that something bad has gone wrong.
|
||||||
|
|
||||||
|
Fixes https://github.com/fwupd/fwupd/issues/5077
|
||||||
|
---
|
||||||
|
libfwupdplugin/fu-bios-settings.c | 2 +-
|
||||||
|
libfwupdplugin/fu-self-test.c | 2 ++
|
||||||
|
plugins/lenovo-thinklmi/fu-self-test.c | 2 ++
|
||||||
|
3 files changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libfwupdplugin/fu-bios-settings.c b/libfwupdplugin/fu-bios-settings.c
|
||||||
|
index 6151c8289..8ea1269d7 100644
|
||||||
|
--- a/libfwupdplugin/fu-bios-settings.c
|
||||||
|
+++ b/libfwupdplugin/fu-bios-settings.c
|
||||||
|
@@ -276,7 +276,7 @@ fu_bios_setting_set_type(FuBiosSettings *self, FwupdBiosSetting *attr, GError **
|
||||||
|
|
||||||
|
/* lenovo thinklmi seems to be missing it even though it's mandatory :/ */
|
||||||
|
if (!fu_bios_setting_get_key(attr, "type", &data, &error_key)) {
|
||||||
|
-#if GLIB_CHECK_VERSION(2, 64, 0)
|
||||||
|
+#if GLIB_CHECK_VERSION(2, 64, 0) && !defined(SUPPORTED_BUILD)
|
||||||
|
g_warning_once("KERNEL BUG: 'type' attribute not exported: (%s)",
|
||||||
|
error_key->message);
|
||||||
|
#else
|
||||||
|
diff --git a/libfwupdplugin/fu-self-test.c b/libfwupdplugin/fu-self-test.c
|
||||||
|
index c105fa271..c670b3a80 100644
|
||||||
|
--- a/libfwupdplugin/fu-self-test.c
|
||||||
|
+++ b/libfwupdplugin/fu-self-test.c
|
||||||
|
@@ -3117,7 +3117,9 @@ fu_bios_settings_load_func(void)
|
||||||
|
test_dir = g_test_build_filename(G_TEST_DIST, "tests", "bios-attrs", "lenovo-p620", NULL);
|
||||||
|
(void)g_setenv("FWUPD_SYSFSFWATTRIBDIR", test_dir, TRUE);
|
||||||
|
|
||||||
|
+#if GLIB_CHECK_VERSION(2, 64, 0) && !defined(SUPPORTED_BUILD)
|
||||||
|
g_test_expect_message("FuBiosSettings", G_LOG_LEVEL_WARNING, "*BUG*");
|
||||||
|
+#endif
|
||||||
|
ret = fu_context_reload_bios_settings(ctx, &error);
|
||||||
|
g_assert_no_error(error);
|
||||||
|
g_assert_true(ret);
|
||||||
|
diff --git a/plugins/lenovo-thinklmi/fu-self-test.c b/plugins/lenovo-thinklmi/fu-self-test.c
|
||||||
|
index 4777a2ae1..9e20a8cf5 100644
|
||||||
|
--- a/plugins/lenovo-thinklmi/fu-self-test.c
|
||||||
|
+++ b/plugins/lenovo-thinklmi/fu-self-test.c
|
||||||
|
@@ -39,7 +39,9 @@ fu_test_self_init(FuTest *self, GError **error_global)
|
||||||
|
g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC);
|
||||||
|
g_autoptr(GError) error = NULL;
|
||||||
|
|
||||||
|
+#if GLIB_CHECK_VERSION(2, 64, 0) && !defined(SUPPORTED_BUILD)
|
||||||
|
g_test_expect_message("FuBiosSettings", G_LOG_LEVEL_WARNING, "*KERNEL*BUG*");
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
ret = fu_context_load_quirks(ctx,
|
||||||
|
FU_QUIRKS_LOAD_FLAG_NO_CACHE | FU_QUIRKS_LOAD_FLAG_NO_VERIFY,
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
@ -0,0 +1,91 @@
|
|||||||
|
From cfd61f6958a46d5e9687f87caf04c94680382a9f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nicolas Frayer <nfrayer@redhat.com>
|
||||||
|
Date: Wed, 1 Feb 2023 12:13:45 +0100
|
||||||
|
Subject: [PATCH] generate_binary: Add NX COMPAT flag manually when genpeimg
|
||||||
|
missing
|
||||||
|
|
||||||
|
When genpeimg or python3-pefile is missing, add the NX COMPAT flag
|
||||||
|
manually by setting bit8 of the DllCharacteristics in the optional
|
||||||
|
header, clear the TimeDateStamp and update the checksum.
|
||||||
|
---
|
||||||
|
efi/generate_binary.py | 50 ++++++++++++++++++++++++++++++++++++++++--
|
||||||
|
1 file changed, 48 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/efi/generate_binary.py b/efi/generate_binary.py
|
||||||
|
index 7b802e7..10ab0b3 100755
|
||||||
|
--- a/efi/generate_binary.py
|
||||||
|
+++ b/efi/generate_binary.py
|
||||||
|
@@ -10,6 +10,13 @@
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import argparse
|
||||||
|
+import os
|
||||||
|
+import struct
|
||||||
|
+
|
||||||
|
+COFF_HDR_OFFSET = 0x80
|
||||||
|
+OPTIONALHDR_CHECKSUM = COFF_HDR_OFFSET + 0x58
|
||||||
|
+OPTIONALHDR_DLLCHARACTERISTICS = COFF_HDR_OFFSET + 0x5E
|
||||||
|
+PEHEADER_TIMEDATASTAMP = COFF_HDR_OFFSET + 0x8
|
||||||
|
|
||||||
|
|
||||||
|
def _run_objcopy(args):
|
||||||
|
@@ -66,6 +73,27 @@ def _run_genpeimg(args):
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
+def generate_checksum(data):
|
||||||
|
+ checksum_offset: int = OPTIONALHDR_CHECKSUM
|
||||||
|
+ checksum: int = 0
|
||||||
|
+ remainder: int = len(data) % 4
|
||||||
|
+ data_len: int = len(data) + ((4 - remainder) * (remainder != 0))
|
||||||
|
+ for i in range(int(data_len / 4)):
|
||||||
|
+ if i == int(checksum_offset / 4):
|
||||||
|
+ continue
|
||||||
|
+ if i + 1 == (int(data_len / 4)) and remainder:
|
||||||
|
+ dword = struct.unpack("I", data[i * 4 :] + (b"\0" * (4 - remainder)))[0]
|
||||||
|
+ else:
|
||||||
|
+ dword = struct.unpack("I", data[i * 4 : i * 4 + 4])[0]
|
||||||
|
+ checksum += dword
|
||||||
|
+ if checksum >= 2**32:
|
||||||
|
+ checksum = (checksum & 0xFFFFFFFF) + (checksum >> 32)
|
||||||
|
+ checksum = (checksum & 0xFFFF) + (checksum >> 16)
|
||||||
|
+ checksum = checksum + (checksum >> 16)
|
||||||
|
+ checksum = checksum & 0xFFFF
|
||||||
|
+ return checksum + len(data)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
def _add_nx_pefile(args):
|
||||||
|
# unnecessary if we have genpeimg
|
||||||
|
if args.genpeimg:
|
||||||
|
@@ -73,8 +101,26 @@ def _add_nx_pefile(args):
|
||||||
|
try:
|
||||||
|
import pefile
|
||||||
|
except ImportError:
|
||||||
|
- print("Unable to add NX support to binaries without genpeimg or python3-pefile")
|
||||||
|
- sys.exit(1)
|
||||||
|
+ print("Adding NX support manually to the binary")
|
||||||
|
+ with open(args.outfile, "r+b") as fh:
|
||||||
|
+ buf = bytearray(fh.read(os.path.getsize(args.outfile)))
|
||||||
|
+ fh.seek(0)
|
||||||
|
+ DllCharacteristics = struct.unpack_from(
|
||||||
|
+ "<H", buf, OPTIONALHDR_DLLCHARACTERISTICS
|
||||||
|
+ )[0]
|
||||||
|
+ DllCharacteristics |= 0x100
|
||||||
|
+ struct.pack_into(
|
||||||
|
+ "<H", buf, OPTIONALHDR_DLLCHARACTERISTICS, DllCharacteristics
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
+ # set the timestamp to 0
|
||||||
|
+ struct.pack_into("<I", buf, PEHEADER_TIMEDATASTAMP, 0x0)
|
||||||
|
+
|
||||||
|
+ # as we have set the NX COMPAT bit, regenerate the checksum
|
||||||
|
+ struct.pack_into("<I", buf, OPTIONALHDR_CHECKSUM, generate_checksum(buf))
|
||||||
|
+ fh.write(buf)
|
||||||
|
+
|
||||||
|
+ return
|
||||||
|
|
||||||
|
pe = pefile.PE(args.outfile)
|
||||||
|
pe.OPTIONAL_HEADER.DllCharacteristics |= pefile.DLL_CHARACTERISTICS[
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
From af5fb429c8e726d1d7455b2d0e5d4263edbd4290 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ivan Mikhanchuk <ivanmikh@pm.me>
|
||||||
|
Date: Tue, 24 Jan 2023 17:06:09 -0800
|
||||||
|
Subject: [PATCH] modem-manager: remove improper use of assert
|
||||||
|
|
||||||
|
FuSaharaLoader being NULL is normal for devices that only
|
||||||
|
support Firehose and don't use Sahara QDL port.
|
||||||
|
---
|
||||||
|
plugins/modem-manager/fu-sahara-loader.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/modem-manager/fu-sahara-loader.c b/plugins/modem-manager/fu-sahara-loader.c
|
||||||
|
index 89c620fbe..78f24036f 100644
|
||||||
|
--- a/plugins/modem-manager/fu-sahara-loader.c
|
||||||
|
+++ b/plugins/modem-manager/fu-sahara-loader.c
|
||||||
|
@@ -206,7 +206,8 @@ fu_sahara_loader_close(FuSaharaLoader *self, GError **error)
|
||||||
|
gboolean
|
||||||
|
fu_sahara_loader_qdl_is_open(FuSaharaLoader *self)
|
||||||
|
{
|
||||||
|
- g_return_val_if_fail(self != NULL, FALSE);
|
||||||
|
+ if (self == NULL)
|
||||||
|
+ return FALSE;
|
||||||
|
|
||||||
|
return fu_usb_device_is_open(self->usb_device);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
@ -0,0 +1,24 @@
|
|||||||
|
From 7f427d567d497048772bad59e098528605e563ce Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Hughes <richard@hughsie.com>
|
||||||
|
Date: Mon, 23 Jan 2023 11:22:43 +0000
|
||||||
|
Subject: [PATCH] trivial: Fix build fix when using ppc64le system
|
||||||
|
|
||||||
|
---
|
||||||
|
src/meson.build | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/meson.build b/src/meson.build
|
||||||
|
index b9f6736f2..f3ca734ee 100644
|
||||||
|
--- a/src/meson.build
|
||||||
|
+++ b/src/meson.build
|
||||||
|
@@ -197,6 +197,7 @@ plugins_hdr = custom_target('fwupd-generate-plugins-header',
|
||||||
|
fwupdengine = library(
|
||||||
|
'fwupdengine',
|
||||||
|
resources_src,
|
||||||
|
+ plugins_hdr,
|
||||||
|
sources: fwupd_engine_src,
|
||||||
|
install: true,
|
||||||
|
install_rpath: libdir_pkg,
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
@ -0,0 +1,46 @@
|
|||||||
|
From 8076090a000d4adde59fddeadb17a6f769993d1e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jason Gerecke <killertofu@gmail.com>
|
||||||
|
Date: Tue, 17 Jan 2023 14:24:14 -0800
|
||||||
|
Subject: [PATCH] wacom-usb: Retry set_report on failure
|
||||||
|
|
||||||
|
Sometimes the flash process will randomly hang and time-out when sending
|
||||||
|
data to the device. We currently do not use any retry logic, so if this
|
||||||
|
happens the flash attempt is treated as a failure. This can be a source
|
||||||
|
of worry or frustration, especially if subsequent manual retries fail
|
||||||
|
in a similar way.
|
||||||
|
|
||||||
|
Adding FU_HID_DEVICE_FLAG_RETRY_FAILURE to the list of flags used when
|
||||||
|
calling fu_hid_device_set_report allows fwupd to try sending a block
|
||||||
|
multiple times if such a time-out (or other error) occurs. This makes
|
||||||
|
the flash process less prone to failure.
|
||||||
|
|
||||||
|
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
|
||||||
|
---
|
||||||
|
plugins/wacom-usb/fu-wac-device.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/wacom-usb/fu-wac-device.c b/plugins/wacom-usb/fu-wac-device.c
|
||||||
|
index 9162d19a9..714761b1e 100644
|
||||||
|
--- a/plugins/wacom-usb/fu-wac-device.c
|
||||||
|
+++ b/plugins/wacom-usb/fu-wac-device.c
|
||||||
|
@@ -182,7 +182,8 @@ fu_wac_device_set_feature_report(FuWacDevice *self,
|
||||||
|
buf,
|
||||||
|
bufsz,
|
||||||
|
FU_WAC_DEVICE_TIMEOUT,
|
||||||
|
- flags | FU_HID_DEVICE_FLAG_IS_FEATURE,
|
||||||
|
+ flags | FU_HID_DEVICE_FLAG_IS_FEATURE |
|
||||||
|
+ FU_HID_DEVICE_FLAG_RETRY_FAILURE,
|
||||||
|
error);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -920,6 +921,7 @@ fu_wac_device_init(FuWacDevice *self)
|
||||||
|
fu_device_set_install_duration(FU_DEVICE(self), 10);
|
||||||
|
fu_device_set_remove_delay(FU_DEVICE(self), FU_DEVICE_REMOVE_DELAY_RE_ENUMERATE);
|
||||||
|
fu_device_set_firmware_gtype(FU_DEVICE(self), FU_TYPE_WAC_FIRMWARE);
|
||||||
|
+ fu_device_retry_set_delay(FU_DEVICE(self), 30); /* ms */
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue