diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2011-08-03 14:23:21 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2011-08-03 14:23:21 +0200 |
commit | 0ac3ccfa9baa46529acbaefc64f7ad88753a9171 (patch) | |
tree | 9e91e9812a8785bcb2182fffcfa50daabd9a72ce /plugins | |
parent | 0504fc56ffda24950ead2558a1059e1f4dc347cb (diff) | |
download | ofono-0ac3ccfa9baa46529acbaefc64f7ad88753a9171.tar.bz2 |
huawei: Fix race condition with online enable polling
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/huawei.c | 9 |
1 files changed, 9 insertions, 0 deletions
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); |