UPSTREAM: sim-mbim: fix `preload_cancellable` bug that causes a crash

In merge request !1405, when handling subscriber_ready_status_ready()
fails, it exits early and allows preload retry without resetting
`self->priv->preload_cancellable`. When the preload_subscriber_info() runs
again, it fails at g_assert check and causes a crash.
Before !1405, `self->priv->preload_cancellable` is reset within
application_list_query_ready().

(cherry picked from commit 469c6865041ee524067497b450fb40ef4daa235d)

BUG=b:451656924
TEST=SIM switch and cellular OTA connectivity verification.

Change-Id: I428c6f7b1639e7e1d7b98de0722684e8b8c1a33f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/modemmanager-next/+/7048764
Tested-by: Rukun Mao <rmao@google.com>
Reviewed-by: Aleksander Morgado <aleksandermj@google.com>
Commit-Queue: Rukun Mao <rmao@google.com>
diff --git a/src/mm-sim-mbim.c b/src/mm-sim-mbim.c
index f44ce9e..0dfcd81 100644
--- a/src/mm-sim-mbim.c
+++ b/src/mm-sim-mbim.c
@@ -340,6 +340,7 @@
 
     if (self->priv->preload_error || ready_state == MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED) {
         self->priv->preload = FALSE;
+        g_clear_object (&self->priv->preload_cancellable);
         if (self->priv->preload_error)
             g_task_return_error (task, g_steal_pointer (&self->priv->preload_error));
         else