summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-09-04 23:44:30 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-09-04 23:44:30 +0200
commita0fe9cbdbd94b49399a2caf4d3081b2c80687c2e (patch)
tree5a5745385addf868572b7c43854feb7495c4139d /drivers
parentba532ae192baa1b875ad208a5e055633d7f41ce5 (diff)
downloadofono-a0fe9cbdbd94b49399a2caf4d3081b2c80687c2e.tar.bz2
atmodem: Add Huawei quirk for voice call handling
Diffstat (limited to 'drivers')
-rw-r--r--drivers/atmodem/voicecall.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/atmodem/voicecall.c b/drivers/atmodem/voicecall.c
index 3d17b44f..eaf3a95a 100644
--- a/drivers/atmodem/voicecall.c
+++ b/drivers/atmodem/voicecall.c
@@ -33,6 +33,7 @@
#include <ofono/log.h>
#include <ofono/modem.h>
#include <ofono/voicecall.h>
+#include "vendor.h"
#include "gatchat.h"
#include "gatresult.h"
@@ -56,6 +57,7 @@ struct voicecall_data {
unsigned int local_release;
unsigned int clcc_source;
GAtChat *chat;
+ unsigned int vendor;
};
struct release_id_req {
@@ -116,6 +118,10 @@ static struct ofono_call *create_call(struct ofono_voicecall *vc, int type,
d->calls = g_slist_insert_sorted(d->calls, call, at_util_call_compare);
+ if (d->vendor == OFONO_VENDOR_HUAWEI)
+ g_at_chat_send(d->chat, "AT^DDSETEX=2", none_prefix,
+ NULL, NULL, NULL);
+
return call;
}
@@ -838,6 +844,7 @@ static int at_voicecall_probe(struct ofono_voicecall *vc, unsigned int vendor,
vd = g_new0(struct voicecall_data, 1);
vd->chat = g_at_chat_clone(chat);
+ vd->vendor = vendor;
ofono_voicecall_set_data(vc, vd);