huawei: ignore ^CCALLSTATE URCs for now

We will want to support these to avoid needing to have CLCC call
polling, but for now, just ignore them so that they don't interfere
with the call management.

For context, see:
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/216
This commit is contained in:
Aleksander Morgado
2020-05-22 10:58:29 +02:00
parent 1eeec40ee8
commit 29a68c94b9

View File

@@ -128,6 +128,7 @@ struct _MMBroadbandModemHuaweiPrivate {
GRegex *ecclist_regex;
GRegex *ltersrp_regex;
GRegex *cschannelinfo_regex;
GRegex *ccallstate_regex;
GRegex *eons_regex;
FeatureSupport ndisdup_support;
@@ -4404,6 +4405,10 @@ set_ignored_unsolicited_events_handlers (MMBroadbandModemHuawei *self)
port,
self->priv->cschannelinfo_regex,
NULL, NULL, NULL);
mm_port_serial_at_add_unsolicited_msg_handler (
port,
self->priv->ccallstate_regex,
NULL, NULL, NULL);
mm_port_serial_at_add_unsolicited_msg_handler (
port,
self->priv->eons_regex,
@@ -4541,6 +4546,8 @@ mm_broadband_modem_huawei_init (MMBroadbandModemHuawei *self)
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
self->priv->cschannelinfo_regex = g_regex_new ("\\r\\n\\^CSCHANNELINFO:.+\\r\\n",
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
self->priv->ccallstate_regex = g_regex_new ("\\r\\n\\^CCALLSTATE:.+\\r\\n",
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
self->priv->eons_regex = g_regex_new ("\\r\\n\\^EONS:.+\\r\\n",
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
@@ -4600,6 +4607,7 @@ finalize (GObject *object)
g_regex_unref (self->priv->ecclist_regex);
g_regex_unref (self->priv->ltersrp_regex);
g_regex_unref (self->priv->cschannelinfo_regex);
g_regex_unref (self->priv->ccallstate_regex);
g_regex_unref (self->priv->eons_regex);
if (self->priv->syscfg_supported_modes)