broadband-modem-mbim: static array to define used QMI services
This commit is contained in:
@@ -1874,7 +1874,6 @@ enabling_started (MMBroadbandModem *self,
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
MMPortMbim *mbim;
|
MMPortMbim *mbim;
|
||||||
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
|
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
|
||||||
QmiService qmi_services[32];
|
|
||||||
guint qmi_service_index;
|
guint qmi_service_index;
|
||||||
#endif
|
#endif
|
||||||
} InitializationStartedContext;
|
} InitializationStartedContext;
|
||||||
@@ -1933,6 +1932,13 @@ parent_initialization_started (GTask *task)
|
|||||||
|
|
||||||
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
|
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
|
||||||
|
|
||||||
|
static const QmiService qmi_services[] = {
|
||||||
|
QMI_SERVICE_DMS,
|
||||||
|
QMI_SERVICE_NAS,
|
||||||
|
QMI_SERVICE_PDS,
|
||||||
|
QMI_SERVICE_LOC,
|
||||||
|
};
|
||||||
|
|
||||||
static void allocate_next_qmi_client (GTask *task);
|
static void allocate_next_qmi_client (GTask *task);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1947,7 +1953,7 @@ mbim_port_allocate_qmi_client_ready (MMPortMbim *mbim,
|
|||||||
|
|
||||||
if (!mm_port_mbim_allocate_qmi_client_finish (mbim, res, &error)) {
|
if (!mm_port_mbim_allocate_qmi_client_finish (mbim, res, &error)) {
|
||||||
mm_dbg ("Couldn't allocate QMI client for service '%s': %s",
|
mm_dbg ("Couldn't allocate QMI client for service '%s': %s",
|
||||||
qmi_service_get_string (ctx->qmi_services[ctx->qmi_service_index]),
|
qmi_service_get_string (qmi_services[ctx->qmi_service_index]),
|
||||||
error->message);
|
error->message);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
}
|
}
|
||||||
@@ -1965,14 +1971,14 @@ allocate_next_qmi_client (GTask *task)
|
|||||||
self = g_task_get_source_object (task);
|
self = g_task_get_source_object (task);
|
||||||
ctx = g_task_get_task_data (task);
|
ctx = g_task_get_task_data (task);
|
||||||
|
|
||||||
if (ctx->qmi_services[ctx->qmi_service_index] == QMI_SERVICE_UNKNOWN) {
|
if (ctx->qmi_service_index == G_N_ELEMENTS (qmi_services)) {
|
||||||
parent_initialization_started (task);
|
parent_initialization_started (task);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Otherwise, allocate next client */
|
/* Otherwise, allocate next client */
|
||||||
mm_port_mbim_allocate_qmi_client (ctx->mbim,
|
mm_port_mbim_allocate_qmi_client (ctx->mbim,
|
||||||
ctx->qmi_services[ctx->qmi_service_index],
|
qmi_services[ctx->qmi_service_index],
|
||||||
NULL,
|
NULL,
|
||||||
(GAsyncReadyCallback)mbim_port_allocate_qmi_client_ready,
|
(GAsyncReadyCallback)mbim_port_allocate_qmi_client_ready,
|
||||||
task);
|
task);
|
||||||
@@ -2187,15 +2193,6 @@ initialization_started (MMBroadbandModem *self,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
|
|
||||||
/* Setup services to open */
|
|
||||||
ctx->qmi_services[0] = QMI_SERVICE_DMS;
|
|
||||||
ctx->qmi_services[1] = QMI_SERVICE_NAS;
|
|
||||||
ctx->qmi_services[2] = QMI_SERVICE_PDS;
|
|
||||||
ctx->qmi_services[3] = QMI_SERVICE_LOC;
|
|
||||||
ctx->qmi_services[4] = QMI_SERVICE_UNKNOWN;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Now open our MBIM port */
|
/* Now open our MBIM port */
|
||||||
mm_port_mbim_open (ctx->mbim,
|
mm_port_mbim_open (ctx->mbim,
|
||||||
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
|
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
|
||||||
|
Reference in New Issue
Block a user