Not allowed to call register directly from probe, use g_idle_add
instead for now
---
drivers/cdmamodem/voicecall.c | 12 ++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/cdmamodem/voicecall.c b/drivers/cdmamodem/voicecall.c
index a0fa79f..94ec74b 100644
--- a/drivers/cdmamodem/voicecall.c
+++ b/drivers/cdmamodem/voicecall.c
@@ -109,6 +109,15 @@ static void cdma_hangup(struct ofono_cdma_voicecall *vc,
cdma_template("AT+CHV", vc, cdma_hangup_cb, cb, data);
}
+static gboolean cdma_voicecall_initialized(gpointer user_data)
+{
+ struct ofono_cdma_voicecall *vc = user_data;
+
+ ofono_cdma_voicecall_register(vc);
+
+ return FALSE;
+}
+
static int cdma_voicecall_probe(struct ofono_cdma_voicecall *vc,
unsigned int vendor, void *data)
{
@@ -123,8 +132,7 @@ static int cdma_voicecall_probe(struct ofono_cdma_voicecall
*vc,
vd->vendor = vendor;
ofono_cdma_voicecall_set_data(vc, vd);
-
- ofono_cdma_voicecall_register(vc);
+ g_idle_add(cdma_voicecall_initialized, vc);
return 0;
}
--
1.7.0.4
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono