diff options
Diffstat (limited to 'plugins/hfp.c')
-rw-r--r-- | plugins/hfp.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/hfp.c b/plugins/hfp.c index 7b86bc8a..e37c9fc1 100644 --- a/plugins/hfp.c +++ b/plugins/hfp.c @@ -482,6 +482,14 @@ error: service_level_conn_failed(modem); } +static void hfp_disconnected_cb(gpointer user_data) +{ + struct ofono_modem *modem = user_data; + + ofono_modem_set_powered(modem, FALSE); + clear_data(modem); +} + /* either oFono or Phone could request SLC connection */ static int service_level_connection(struct ofono_modem *modem, int fd) { @@ -506,6 +514,8 @@ static int service_level_connection(struct ofono_modem *modem, int fd) if (!chat) return -ENOMEM; + g_at_chat_set_disconnect_function(chat, hfp_disconnected_cb, modem); + if (getenv("OFONO_AT_DEBUG")) g_at_chat_set_debug(chat, hfp_debug, NULL); |