From a0fe9cbdbd94b49399a2caf4d3081b2c80687c2e Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 4 Sep 2010 23:44:30 +0200 Subject: [PATCH] atmodem: Add Huawei quirk for voice call handling --- drivers/atmodem/voicecall.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 #include #include +#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);