diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2010-09-04 23:44:30 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-09-04 23:44:30 +0200 |
commit | a0fe9cbdbd94b49399a2caf4d3081b2c80687c2e (patch) | |
tree | 5a5745385addf868572b7c43854feb7495c4139d /drivers | |
parent | ba532ae192baa1b875ad208a5e055633d7f41ce5 (diff) | |
download | ofono-a0fe9cbdbd94b49399a2caf4d3081b2c80687c2e.tar.bz2 |
atmodem: Add Huawei quirk for voice call handling
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/atmodem/voicecall.c | 7 |
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); |