From c2a74289efdc8eec00de921bbbaa944cd3b78aea Mon Sep 17 00:00:00 2001 From: Dmitriy Paliy Date: Tue, 11 Oct 2011 14:34:58 +0300 Subject: [PATCH] Fix call status in +CLCC for maemo6 telephony If list current calls is requested when there is second incoming call and csd call status is CSD_CALL_STATUS_PROCEEDING, then returned 'state of the call' value in +CLCC is 4 (incoming, MT call), which is incorrect. Indication than proceeds from incoming to waiting state. This patch sets the corresponding value to 5 (waiting, MT call) in maemo6 telephony driver for the second call. --- audio/telephony-maemo6.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/audio/telephony-maemo6.c b/audio/telephony-maemo6.c index 102daeb2b..82cb2741a 100644 --- a/audio/telephony-maemo6.c +++ b/audio/telephony-maemo6.c @@ -932,8 +932,16 @@ static int csd_status_to_hfp(struct csd_call *call) /* PROCEEDING can happen in outgoing/incoming */ if (call->originating) return CALL_STATUS_DIALING; - else - return CALL_STATUS_INCOMING; + + /* + * PROCEEDING is followed by WAITING CSD status, therefore + * second incoming call status indication is set immediately + * to waiting. + */ + if (g_slist_length(active_calls) > 0) + return CALL_STATUS_WAITING; + + return CALL_STATUS_INCOMING; case CSD_CALL_STATUS_COMING: return CALL_STATUS_INCOMING; case CSD_CALL_STATUS_MO_ALERTING: -- 2.47.3