summaryrefslogtreecommitdiffstats
path: root/drivers/cdmamodem
diff options
context:
space:
mode:
authorBertrand Aygon <bertrand.aygon@intel.com>2011-07-22 06:28:04 +0200
committerMarcel Holtmann <marcel@holtmann.org>2011-07-22 11:20:57 +0200
commit20e55432d047a641b2ccf920d0f25e90d8d928d9 (patch)
treef8094af9f1cbca1165353062fcd1a77039479d7f /drivers/cdmamodem
parent43fb36d015ffc08c9c2fe33048ac58d11da051c1 (diff)
downloadofono-20e55432d047a641b2ccf920d0f25e90d8d928d9.tar.bz2
cdmamodem: send AT+GCAP to check devinfo.
Diffstat (limited to 'drivers/cdmamodem')
-rw-r--r--drivers/cdmamodem/devinfo.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/cdmamodem/devinfo.c b/drivers/cdmamodem/devinfo.c
index 9603e052..2a5813ca 100644
--- a/drivers/cdmamodem/devinfo.c
+++ b/drivers/cdmamodem/devinfo.c
@@ -36,6 +36,8 @@
#include "cdmamodem.h"
+static const char *gcap_prefix[] = { "+GCAP:", NULL };
+
static void attr_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
@@ -123,13 +125,11 @@ static void cdma_query_serial(struct ofono_devinfo *info,
CALLBACK_WITH_FAILURE(cb, NULL, data);
}
-static gboolean cdma_devinfo_register(gpointer user_data)
+static void capability_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct ofono_devinfo *info = user_data;
ofono_devinfo_register(info);
-
- return FALSE;
}
static int cdma_devinfo_probe(struct ofono_devinfo *info,
@@ -138,7 +138,9 @@ static int cdma_devinfo_probe(struct ofono_devinfo *info,
GAtChat *chat = data;
ofono_devinfo_set_data(info, g_at_chat_clone(chat));
- g_idle_add(cdma_devinfo_register, info);
+
+ g_at_chat_send(chat, "AT+GCAP", gcap_prefix,
+ capability_cb, info, NULL);
return 0;
}