[PATCH BlueZ v2] Fix call status in +CLCC for maemo6 telephony

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/audio/telephony-maemo6.c b/audio/telephony-maemo6.c
index 102daeb..82cb274 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:
-- 
1.7.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux