From 0ac3ccfa9baa46529acbaefc64f7ad88753a9171 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 3 Aug 2011 14:23:21 +0200 Subject: huawei: Fix race condition with online enable polling --- plugins/huawei.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'plugins/huawei.c') diff --git a/plugins/huawei.c b/plugins/huawei.c index 13803692..8afc0f58 100644 --- a/plugins/huawei.c +++ b/plugins/huawei.c @@ -534,6 +534,15 @@ static int huawei_disable(struct ofono_modem *modem) g_at_chat_cancel_all(data->pcui); g_at_chat_unregister_all(data->pcui); + /* Cleanup potential online enable polling */ + if (data->sysinfo_poll_source > 0) { + g_source_remove(data->sysinfo_poll_source); + data->sysinfo_poll_source = 0; + + g_free(data->online_cbd); + data->online_cbd = NULL; + } + g_at_chat_send(data->pcui, "AT+CFUN=0", none_prefix, cfun_disable, modem, NULL); -- cgit v1.2.3