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

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

 



Hi Dmitriy,

On Tue, Oct 11, 2011 at 1:13 PM, Dmitriy Paliy <dmitriy.paliy@xxxxxxxxx> wrote:
> Hi Luiz,
>
> On Tue, Oct 11, 2011 at 12:44 PM, Luiz Augusto von Dentz
> <luiz.dentz@xxxxxxxxx> wrote:
>> Hi Dmitriy,
>>
>> On Tue, Oct 11, 2011 at 12:18 PM, Dmitriy Paliy <dmitriy.paliy@xxxxxxxxx> wrote:
>>> 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 |    8 ++++++--
>>>  1 files changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/audio/telephony-maemo6.c b/audio/telephony-maemo6.c
>>> index 102daeb..13bb198 100644
>>> --- a/audio/telephony-maemo6.c
>>> +++ b/audio/telephony-maemo6.c
>>> @@ -932,8 +932,12 @@ 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;
>>> +               else {
>>> +                       if (g_slist_length(active_calls) > 0)
>>> +                               return CALL_STATUS_WAITING;
>>> +                       else
>>> +                               return CALL_STATUS_INCOMING;
>>> +               }
>>
>> I guess you could have else if (g_slist_length(active_calls) > 0)
>> which is less indentation, other than that looks ok.
>
> In this way it looks grouped in better way to my taste, since there
> are two cases (incoming and dialing), and those have sub-cases. Note,
> that dialing may have also two sub-cases in theory (2: dialling, 3:
> alerting). Such structure
> if (call->originating)
> ...
> else if (g_slist_length(active_calls) > 0)
> ...
> else
> looks more confusing. What do you think?

Actually since we are returning we probably don't need this amount of
else, so something like the following should be equivalent:

-               else
-                       return CALL_STATUS_INCOMING;
+
+               if (g_slist_length(active_calls) > 0)
+                       return CALL_STATUS_WAITING;
+
+               return CALL_STATUS_INCOMING;

Also, I guess the number of active calls must be > 1 to be on waiting, isn't it?

-- 
Luiz Augusto von Dentz
--
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