atmodem: Disable AT+COLP for Qualcomm MSM based modems

In case of Qualcomm MSM based modems, AT+COLP=0 needs to be used to make
ATD<number>; return right away. Otherwise it only returns once the remote
party accepted or rejected the call.
This commit is contained in:
Marcel Holtmann 2012-01-06 14:05:59 -08:00
parent d432561a12
commit 02cbee4955
1 changed files with 10 additions and 1 deletions

View File

@ -1095,7 +1095,16 @@ static int at_voicecall_probe(struct ofono_voicecall *vc, unsigned int vendor,
g_at_chat_send(vd->chat, "AT+CLIP=1", NULL, NULL, NULL, NULL);
g_at_chat_send(vd->chat, "AT+CDIP=1", NULL, NULL, NULL, NULL);
g_at_chat_send(vd->chat, "AT+CNAP=1", NULL, NULL, NULL, NULL);
g_at_chat_send(vd->chat, "AT+COLP=1", NULL, NULL, NULL, NULL);
switch (vd->vendor) {
case OFONO_VENDOR_QUALCOMM_MSM:
g_at_chat_send(vd->chat, "AT+COLP=0", NULL, NULL, NULL, NULL);
break;
default:
g_at_chat_send(vd->chat, "AT+COLP=1", NULL, NULL, NULL, NULL);
break;
}
g_at_chat_send(vd->chat, "AT+CSSN=1,1", NULL, NULL, NULL, NULL);
g_at_chat_send(vd->chat, "AT+VTD?", NULL,
vtd_query_cb, vc, NULL);