Commit Graph

3252 Commits

Author SHA1 Message Date
Richard Hughes
2d2bde2268 trivial: Fix -Wunused-but-set-variable warning 2022-09-22 14:24:50 +01:00
Victor Cheng
ae74625721 usi-dock: Add initialization retry to ensure flash ready 2022-09-22 13:50:32 +01:00
SonixLeo
2c515f9a7b update the Quirk specifications for our Sonix CAM products 2022-09-22 10:34:43 +01:00
Richard Hughes
2fb81a6482 redfish: Only create users using IPMI when we know it's going to work
Make the IPMI auto-account feature allow-listed on specific vendors as some IPMI
implementations are not specification compliant and do entirely the wrong thing.
2022-09-21 14:22:35 +01:00
Richard Hughes
64cf323e57 wacom-raw: Fix maximum szie for AES panels
The latest AES panel G14T is expanded to 0x4000.
2022-09-21 07:29:33 +01:00
Richard Hughes
28fc1a5130 wacom-raw: Correctly finalize Wacom AES devices
The attach behaviour is not common between AES and EMR panels.
2022-09-21 07:29:33 +01:00
Richard Hughes
c0b8673faa dbx: Do not show the 'connected devices may not be usable while updating' message 2022-09-20 12:55:00 +01:00
Richard Hughes
b34dc9c1f1 redfish: Set the permissions of redfish.conf at install time
Although typically we set the password using fu_plugin_set_secure_config_value()
or something like Ansible or Puppet -- the user could just edit the file with
vim and we still want the permissions set correctly.
2022-09-20 12:33:03 +01:00
Mario Limonciello
e8ca440bad Add new plugin to display SMU firmware version on AMD APU/CPU
This plugin is read-only, but can be used to tell what version of
SMU firmware is installed.
2022-09-19 06:51:27 -05:00
Richard Hughes
aba96e4a4a pixart-rf: Fix the endianness of the magic
This was probably broken in 0c51630991

Mea culpa.
2022-09-18 12:40:33 +01:00
Richard Hughes
e72ed08b56 Always check the BDP partitions when getting all the possible ESPs
Fixes https://github.com/fwupd/fwupd/issues/5035
2022-09-17 13:41:36 +01:00
Mario Limonciello
6ce4244edd trivial: fix reading the microcode version on AMD systems
The kernel will issue a CPUID of 0x1 before reading microcode.
Align this behavior with the MSR plugin.

AMD and Intel align their microcode diffrently in MSR 0x8b.
* Intel it's 4 bytes in.
* AMD it's at the start of the MSR.
2022-09-13 11:10:45 -05:00
Richard Hughes
891bae783c Show the USB4 NVM device ID in the debug output
Otherwise there's no way to find out what value the big-table-of-data needs.
2022-09-13 14:25:15 +01:00
Richard Hughes
404ab8e3e9 trivial: Rename the internal NvmProductId to NvmModelId to match Intel docs
This preserves sanity when comparing numbers from vendors.
2022-09-13 14:25:15 +01:00
Mario Limonciello
561c8661f8 trivial: convert pci-psp plugin to create and use a device
In general this is a cleanup, means less vfuncs that get called when
devices are added. Beyon the optimization functionally should be a
no-op for fwupd.  It will also potentially storing the version
to the newly created secure processor device in the future.
2022-09-13 07:14:22 -05:00
Dylan Van Assche
a8017e0a4f mtd: expose Pine64 PinePhone Pro MTD as Tow-Boot
Pine64 PinePhone Pro has an SPI device which is handled by the MTD
plugin and comes with Tow-Boot pre-installed from the factory.
Expose it as Tow-Boot and mark the firmware type with uSWID for version
extraction. However, it does not provide uSWID data so users have to manually
upgrade to a Tow-Boot version with uSWID data support first.
2022-09-12 14:51:14 +01:00
Richard Hughes
e358cc7bde Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +01:00
Richard Hughes
1dab4f67cf modem-manager: Fix debug format string
PVS: The size_t type argument is expected.
2022-09-09 19:23:29 +01:00
Richard Hughes
e17f41b638 rts54hid: Fix possible unsafe memcpy()
PVS: A call of the 'memcpy' function will lead to underflow of the buffer.
2022-09-09 19:23:29 +01:00
Richard Hughes
d8c464889a logitech-hidpp: Fix possible unsafe memcpy()
PVS: A call of the 'memcpy' function will lead to underflow of the buffer.
2022-09-09 19:23:29 +01:00
Richard Hughes
824f634244 dfu-csr: Fix uploading to devices
This was due to an overzealous sed script running in 90254a5152.

PVS: A call of the 'memcmp' function will lead to underflow of the buffer.
2022-09-09 19:23:29 +01:00
Richard Hughes
af3d1116f6 parade-lspcon: Remove trivial dead init
PVS: The 'write_data[0]' variable was assigned the same value.
2022-09-09 19:23:29 +01:00
Richard Hughes
e6e476a0e7 emmc: Use struct init to set mmc_ioc_cmd
PVS: The 'idata.write_flag' variable was assigned the same value.
2022-09-09 19:23:29 +01:00
Richard Hughes
67a0812b92 logitech-hidpp: Fix debug text when getting a HIDPP error message
PVS: Two or more case-branches perform the same actions.
2022-09-09 19:23:29 +01:00
Richard Hughes
aa71485cc5 trivial: Fix a few theoretical memory leaks that can't happen in reality
PVS: The function was exited without releasing the 'str' pointer.
2022-09-09 19:23:29 +01:00
Richard Hughes
e84e8b6927 redfish: Use the passed offset when parsing SMBIOS tables
PVS: Parameter 'offset' is always rewritten in function body before being used.
2022-09-09 19:23:29 +01:00
Richard Hughes
a74e383f8d synaptics-cxaudio: Use fu_strtobool() to parse TRUE and FALSE
PVS: Converting type 'guint64' to type 'gboolean' can lead to a loss of high-order bits.
2022-09-09 19:23:29 +01:00
Richard Hughes
72f6cc5a0a redfish: Fix a condition that can never be false
PVS: A part of conditional expression is always true: path != NULL.
2022-09-09 19:23:29 +01:00
Richard Hughes
908c1d8c02 modem-manager: Do not print (null)
PVS: Incorrect format. A null pointer is used.
2022-09-09 19:23:29 +01:00
Richard Hughes
ab5683deb0 emmc: Do not print (null)
PVS: Incorrect format. A null pointer is used.
2022-09-09 19:23:29 +01:00
Richard Hughes
f79572891b cros-ec: Fix trivial format specifier
PVS: The size_t type argument is expected.
2022-09-09 19:23:29 +01:00
Richard Hughes
425f1a70c7 dell-dock: Remove trivial duplicate line 2022-09-09 19:23:29 +01:00
Richard Hughes
0c80952e30 synaptics-mst: Check the firmware payload size when updating cayenne
PVS: Parameter 'payload_len' is always rewritten in function body before being used.
2022-09-09 19:22:58 +01:00
Richard Hughes
07b368d6b1 vbe: Fix a crash when dumping firmware
PVS: The null pointer is passed into 'g_byte_array_append' function.
2022-09-09 18:50:56 +01:00
Dylan Van Assche
c62e7a6bab android-boot: fix segfault
Store strings during the lifetime of the plugin and free them
when destroyed.
2022-09-09 16:16:50 +01:00
Richard Hughes
5f554d1668 ccgx: Write all the metadata block as intended
PVS: It's odd that 'sizeof()' operator evaluates the size of a pointer to a
class, but not the size of the 'metadata' class object.
2022-09-09 06:42:51 -05:00
Richard Hughes
5ebc3b6ad9 Move the generic Intel Goshen Ridge code out to a new plugin
The original code was written by Dell for the dell-dock plugin, but
it's exactly the same code and NVM format for Intel reference hardware.
2022-09-08 09:56:33 +01:00
Richard Hughes
fc3ac81978 Load coSWID metadata from a uSWID MTD block device
The coSWID is a child of the parent, and the parent container does not have a
version. Also fix a small memory leak when parsing container formats.

Fixes https://github.com/fwupd/fwupd/issues/4294
2022-09-07 16:02:27 +01:00
Mario Limonciello
d6a455e856 trivial: try harder to make sure mtdram is set up
the autopkgtest environment in Ubuntu seems to not be preparing the mtdram
device properly. Sometimes the udev node "exists" but the /dev/mtd0 does not
exist.

Look for this explicitly and skip the test if it happens.
2022-09-07 08:24:10 -05:00
Mario Limonciello
cc8b4905ef trivial: only build thunderbolt for x86 architectures
It's true that the USB4 spec won't require x86, but a recent autopkgtest
failure on powerpc doesn't make sense to debug.  You won't ever see TBT
in a powerpc machine.

We can loosen this to any non-x86 architectures later that DO prove to
have support for USB4 add-in cards.
2022-09-07 08:05:08 -05:00
Richard Hughes
f9de0ee2f9 android-boot: Quirk data is available as soon as the instance ID has been added 2022-09-06 21:28:58 +01:00
Richard Hughes
0b8640929c android-boot: Only add the device if updatable
Otherwise we get devices like:

    ├─EFI\x20system\x20partition:
    │     Device ID:          003a0352e13dc2defe8548eb541d56067e5e5d71
    │     Summary:            Android Bootloader
    │     Current version:    0.0.0
    │     GUIDs:              a4001789-0ca9-5f4c-8c53-e65f8ec8a825
    │                         9d825eae-ef58-501c-944f-6a0a8d9cfb49
    │     Device Flags:       • Internal device
    │                         • System requires external power source
    │                         • Needs a reboot after installation
    │                         • Cryptographic hash verification is available
2022-09-06 21:28:58 +01:00
Richard Hughes
26e029756c android-boot: Don't set the GError if not checking return code 2022-09-06 21:28:58 +01:00
Dylan Van Assche
d0d4b17a7f plugins: android-boot: new plugin
Add a plugin for supporting Android bootloaders which are used on
all Qualcomm-based Android devices. These bootloaders are stored on
their own partitions and the partition table cannot be altered on
Qualcomm devices. This plugin supports any block device, but only
exposes the ones defined in the quirk file as updatable.
2022-09-05 17:59:11 +01:00
Richard Hughes
92db5fc87a modem-manager: Fix a critical warning when issuing Secure Boot AT commands
Fixes https://github.com/fwupd/fwupd/issues/4998
2022-09-05 17:53:27 +01:00
Andrii Dushko
e6e17a69d7
corsair: remove support for some devices
Vendor has decided to remove these devices from the initial supported
device list:
    * KATAR PRO WIRELESS mouse
    * HARPOON RGB WIRELESS mouse
2022-09-02 14:39:19 +03:00
Andrii Dushko
330a67b5fe corsair: add SABRE RGB PRO Gaming mouse 2022-09-01 11:41:49 +01:00
Mario Limonciello
bfa54d06ef trivial: lenovo-thinklmi: don't assume boot order lock means plugin runs
Lenovo could drop this some day and this plugin has other reasons to run
now. So instead match a HWID for Lenovo systems.
2022-08-31 09:21:07 -05:00
Mario Limonciello
ea64db7d19 lenovo-thinklmi: Disable changing sleep mode on Ryzen 6000 systems
S3 is not supported by AMD and is not exposed in the GUI on these
systems.  Lenovo however exports it to their WMI interface and changing
it will means it can only be changed from the OS.
2022-08-31 09:21:07 -05:00
Richard Hughes
6fd7a62efe uf2: Fix a small memory leak when parsing files
Fixes https://oss-fuzz.com/testcase-detail/4617823934087168
2022-08-30 17:34:33 +01:00