UPSTREAM: shared-fibocom: don't assume parent implements the firmware interface

MMBroadbandModemMbimMtkFibocom doesn't, so don't assert it.

Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/975

Signed-off-by: Dan Williams <dan@ioncontrol.co>
(cherry picked from commit 046b79a6766b6384db9cd56a9af5d148787bafe4)

BUG=b:428019281
TEST=Manual verify.

Change-Id: Id9041b5a80ee512d3de17fd24f49017bcc1fd961
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/modemmanager-next/+/6687366
Tested-by: Aleksander Morgado <aleksandermj@google.com>
Reviewed-by: Ujjwal Pande <ujjwalpande@google.com>
Commit-Queue: Ujjwal Pande <ujjwalpande@google.com>
Auto-Submit: Aleksander Morgado <aleksandermj@google.com>
Commit-Queue: Aleksander Morgado <aleksandermj@google.com>
diff --git a/src/plugins/fibocom/mm-shared-fibocom.c b/src/plugins/fibocom/mm-shared-fibocom.c
index d1398a1..1f9559c 100644
--- a/src/plugins/fibocom/mm-shared-fibocom.c
+++ b/src/plugins/fibocom/mm-shared-fibocom.c
@@ -81,8 +81,8 @@
             priv->iface_modem_parent = MM_SHARED_FIBOCOM_GET_IFACE (self)->peek_parent_modem_interface (self);
 
         /* Setup firmware interface of parent class */
-        g_assert (MM_SHARED_FIBOCOM_GET_IFACE (self)->peek_parent_firmware_interface);
-        priv->iface_modem_firmware_parent = MM_SHARED_FIBOCOM_GET_IFACE (self)->peek_parent_firmware_interface (self);
+        if (MM_SHARED_FIBOCOM_GET_IFACE (self)->peek_parent_firmware_interface)
+            priv->iface_modem_firmware_parent = MM_SHARED_FIBOCOM_GET_IFACE (self)->peek_parent_firmware_interface (self);
 
         g_object_set_qdata_full (G_OBJECT (self), private_quark, priv, (GDestroyNotify)private_free);
     }