summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-06-16 10:38:08 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-06-16 10:38:08 +0200
commit6719c0b93ff9c28d945152fa63186a819ba9f141 (patch)
tree409da4106874a926915712ea942f9f14aca8b082 /drivers
parent3ba288c3960866450e0a065e05b9ae682d825f72 (diff)
Use PROFILE DOWNLOAD to detect SIM Toolkit support for MBM
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mbmmodem/stk.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/mbmmodem/stk.c b/drivers/mbmmodem/stk.c
index f1490d05..cea902e2 100644
--- a/drivers/mbmmodem/stk.c
+++ b/drivers/mbmmodem/stk.c
@@ -185,25 +185,18 @@ static void stkend_notify(GAtResult *result, gpointer user_data)
static void mbm_stkc_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
-}
-
-static gboolean mbm_stk_register(gpointer user)
-{
- struct ofono_stk *stk = user;
+ struct ofono_stk *stk = user_data;
struct stk_data *sd = ofono_stk_get_data(stk);
+ if (!ok)
+ return;
+
g_at_chat_register(sd->chat, "*STKI:", stki_notify, FALSE, stk, NULL);
g_at_chat_register(sd->chat, "*STKN:", stkn_notify, FALSE, stk, NULL);
g_at_chat_register(sd->chat, "*STKEND",
stkend_notify, FALSE, stk, NULL);
- /* Perform PROFILE DOWNLOAD and enable *STKI / *STKN */
- g_at_chat_send(sd->chat, "AT*STKC=1,\"19E1FFFF0000FF7FFF03FEFF\"",
- none_prefix, mbm_stkc_cb, stk, NULL);
-
ofono_stk_register(stk);
-
- return FALSE;
}
static int mbm_stk_probe(struct ofono_stk *stk, unsigned int vendor, void *data)
@@ -215,7 +208,10 @@ static int mbm_stk_probe(struct ofono_stk *stk, unsigned int vendor, void *data)
sd->chat = chat;
ofono_stk_set_data(stk, sd);
- g_idle_add(mbm_stk_register, stk);
+
+ /* Perform PROFILE DOWNLOAD and enable *STKI / *STKN */
+ g_at_chat_send(sd->chat, "AT*STKC=1,\"19E1FFFF0000FF7FFF03FEFF\"",
+ none_prefix, mbm_stkc_cb, stk, NULL);
return 0;
}