diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2017-10-20 17:46:40 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-10-20 17:56:36 +0200 |
commit | dbb4597e335d66dda7abebbab7d70b0708146350 (patch) | |
tree | 2bbef0854f2571f3e69591dc919592e05e228335 /src/mm-iface-modem-firmware.c | |
parent | 6044118b64b11a39b54cc9a2109dbb3f6adc7995 (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.c | 13 |
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), |