---
 plugins/ril_sofia3gr.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/plugins/ril_sofia3gr.c b/plugins/ril_sofia3gr.c
index 8631454..ce29d13 100644
--- a/plugins/ril_sofia3gr.c
+++ b/plugins/ril_sofia3gr.c
@@ -255,14 +255,24 @@ static int ril_enable(struct ofono_modem *modem)
        return -EINPROGRESS;
 }
 
+static void ril_send_power_off_cb(struct ril_msg *message, gpointer user_data)
+{
+       struct ofono_modem *modem = (struct ofono_modem *) user_data;
+       struct ril_data *rd = ofono_modem_get_data(modem);
+
+       g_ril_unref(rd->ril);
+
+       ofono_modem_set_powered(modem, FALSE);
+}
+
 static int ril_disable(struct ofono_modem *modem)
 {
        struct ril_data *rd = ofono_modem_get_data(modem);
 
        DBG("%p", modem);
-       ril_send_power(rd->ril, FALSE, NULL, NULL, NULL);
+       ril_send_power(rd->ril, FALSE, ril_send_power_off_cb, modem, NULL);
 
-       return 0;
+       return -EINPROGRESS;
 }
 
 static struct ofono_modem_driver ril_driver = {
-- 
1.9.1

_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to