| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
g_object_unref
g_free and g_object_unref are in form of `void (*)(gpointer)`, which
matches the GDestroyNotify signature. An explicit GDestroyNotify cast on
g_free and g_object_unref is thus not needed.
|
| |
|
|
|
|
|
|
| |
We allow running FW updates even when udev isn't available in the
system. In this case, though, only the manual operations will be
supported (i.e. --reset and --update-qdl).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
==14200== 308 (208 direct, 100 indirect) bytes in 1 blocks are definitely lost in loss record 1,163 of 1,191
==14200== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14200== by 0x5D34B98: g_malloc (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x5D4D0D2: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x5D4D6FD: g_slice_alloc0 (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x5AC62B3: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5AA81FA: ??? (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5AA9C0C: g_object_newv (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5AAA3C3: g_object_new (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5789694: g_task_new (in /usr/lib/libgio-2.0.so.0.5000.2)
==14200== by 0x40D2E1: qfu_udev_helper_wait_for_device (qfu-udev-helpers.c:580)
==14200== by 0x40753D: qfu_device_selection_wait_for_tty (qfu-device-selection.c:211)
==14200== by 0x40A380: run_context_step_wait_for_tty (qfu-updater.c:798)
==14200==
==14200== 308 (208 direct, 100 indirect) bytes in 1 blocks are definitely lost in loss record 1,164 of 1,191
==14200== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14200== by 0x5D34B98: g_malloc (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x5D4D0D2: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x5D4D6FD: g_slice_alloc0 (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x5AC62B3: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5AA81FA: ??? (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5AA9C0C: g_object_newv (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5AAA3C3: g_object_new (in /usr/lib/libgobject-2.0.so.0.5000.2)
==14200== by 0x5789694: g_task_new (in /usr/lib/libgio-2.0.so.0.5000.2)
==14200== by 0x40D2E1: qfu_udev_helper_wait_for_device (qfu-udev-helpers.c:580)
==14200== by 0x4074DD: qfu_device_selection_wait_for_cdc_wdm (qfu-device-selection.c:195)
==14200== by 0x409977: run_context_step_wait_for_cdc_wdm (qfu-updater.c:579)
|
|
|
|
|
|
|
|
|
|
|
|
| |
==14200== 52 bytes in 1 blocks are definitely lost in loss record 792 of 1,191
==14200== at 0x4C2AB8D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14200== by 0x5D34B98: g_malloc (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x5D4EC3E: g_strdup (in /usr/lib/libglib-2.0.so.0.5000.2)
==14200== by 0x40C16D: udev_helper_get_udev_device_details (qfu-udev-helpers.c:94)
==14200== by 0x40C72C: udev_helper_find_by_device_info_in_subsystem (qfu-udev-helpers.c:263)
==14200== by 0x40C978: qfu_udev_helper_find_by_device_info (qfu-udev-helpers.c:314)
==14200== by 0x4076A9: qfu_device_selection_new (qfu-device-selection.c:264)
==14200== by 0x406A99: main (qfu-main.c:559)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure all GUdevDevice objects created during the helper methods
aren't unref-ed after the GUdevClient that created them.
This is because the udev context is owned by the GUdevClient but also
used (without any full reference) by all udev_devices (i.e.
GUdevDevices) created from that same context.
Quite easy to reproduce when using libudev < 218.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As soon as we know the sysfs path of the device to use, we'll setup a
generic udev monitor for all tty, net and usb devices so that we get
notified of all their additions or removals. E.g. when going from normal
mode to QDL download mode:
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB1
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove wwan0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.3
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove cdc-wdm2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.8
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove wwan1
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove cdc-wdm3
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.10
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add 4-1.4
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add 4-1.4:1.0
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add ttyUSB0
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] waiting device (tty) matched: ttyUSB0
[20 ene 2017, 12:49:27] [Debug] [qfu-updater] TTY device found: /dev/ttyUSB0
|
|
|
|
|
| |
The MC7455 may need around 70s for a complete reboot when selecting a
firmware preference for already stored images.
|
| |
|
|
|
|
|
| |
This new object contains the logic to select which device needs to be
used as target of the firmware upgrade.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
Initially, load sysfs path and setup state machine.
|