summaryrefslogtreecommitdiff
path: root/src/mm-iface-modem-firmware.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2017-10-20 17:46:40 +0200
committerAleksander Morgado <aleksander@aleksander.es>2017-10-20 17:56:36 +0200
commitdbb4597e335d66dda7abebbab7d70b0708146350 (patch)
tree2bbef0854f2571f3e69591dc919592e05e228335 /src/mm-iface-modem-firmware.c
parent6044118b64b11a39b54cc9a2109dbb3f6adc7995 (diff)
broadband-modem-qmi: avoid NULL success return in firmware_load_list
Instead of assuming that NULL is a valid return, make sure we return an error instead.
Diffstat (limited to 'src/mm-iface-modem-firmware.c')
-rw-r--r--src/mm-iface-modem-firmware.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mm-iface-modem-firmware.c b/src/mm-iface-modem-firmware.c
index f87a7bf1..da106b00 100644
--- a/src/mm-iface-modem-firmware.c
+++ b/src/mm-iface-modem-firmware.c
@@ -99,10 +99,15 @@ load_list_ready (MMIfaceModemFirmware *self,
GError *error = NULL;
ctx->list = MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_list_finish (self, res, &error);
- if (error) {
- g_dbus_method_invocation_take_error (ctx->invocation, error);
- handle_list_context_free (ctx);
- return;
+ if (!ctx->list) {
+ /* Not found isn't fatal */
+ if (!g_error_matches (error, MM_CORE_ERROR, MM_CORE_ERROR_NOT_FOUND)) {
+ g_dbus_method_invocation_take_error (ctx->invocation, error);
+ handle_list_context_free (ctx);
+ return;
+ }
+ mm_dbg ("Couldn't load firmware image list: %s", error->message);
+ g_clear_error (&error);
}
MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_current (MM_IFACE_MODEM_FIRMWARE (self),