2011-04-17 21:29:13

by Dmitriy Paliy

[permalink] [raw]
Subject: [PATCH 1/2] Add NO CARRIER response to HFP

HFP is updated by NO CARRIER response accordingly to HFP 1.5 p.68.
---
audio/headset.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/audio/headset.c b/audio/headset.c
index c605e9d..2e4f6ca 100644
--- a/audio/headset.c
+++ b/audio/headset.c
@@ -687,14 +687,17 @@ static int telephony_generic_rsp(struct audio_device *device, cme_error_t err)
struct headset *hs = device->headset;
struct headset_slc *slc = hs->slc;

- if (err != CME_ERROR_NONE) {
- if (slc->cme_enabled)
- return headset_send(hs, "\r\n+CME ERROR: %d\r\n", err);
- else
- return headset_send(hs, "\r\nERROR\r\n");
- }
+ if ((err != CME_ERROR_NONE) && slc->cme_enabled)
+ return headset_send(hs, "\r\n+CME ERROR: %d\r\n", err);

- return headset_send(hs, "\r\nOK\r\n");
+ switch (err) {
+ case CME_ERROR_NONE:
+ return headset_send(hs, "\r\nOK\r\n");
+ case CME_ERROR_NO_NETWORK_SERVICE:
+ return headset_send(hs, "\r\nNO CARRIER\r\n");
+ default:
+ return headset_send(hs, "\r\nERROR\r\n");
+ }
}

int telephony_event_reporting_rsp(void *telephony_device, cme_error_t err)
--
1.7.1



2011-04-18 07:50:21

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH 1/2] Add NO CARRIER response to HFP

Hi Dmitriy,

On Mon, Apr 18, 2011, Dmitriy Paliy wrote:
> HFP is updated by NO CARRIER response accordingly to HFP 1.5 p.68.
> ---
> audio/headset.c | 17 ++++++++++-------
> 1 files changed, 10 insertions(+), 7 deletions(-)

Both patches have been pushed upstream after I fixed your author email
(please fix your git config) and a minor coding style issue in the
second patch.

Johan

2011-04-17 21:29:14

by Dmitriy Paliy

[permalink] [raw]
Subject: [PATCH 2/2] Add NO CARRIER reponse to maemo6 telephony driver

---
audio/telephony-maemo6.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/audio/telephony-maemo6.c b/audio/telephony-maemo6.c
index be2fb87..b32e8ad 100644
--- a/audio/telephony-maemo6.c
+++ b/audio/telephony-maemo6.c
@@ -630,9 +630,14 @@ static void create_call_reply(DBusPendingCall *call, void *user_data)
if (dbus_set_error_from_message(&err, reply)) {
error("csd replied with an error: %s, %s",
err.name, err.message);
- dbus_error_free(&err);
- telephony_dial_number_rsp(telephony_device,
+ if (g_strcmp0(err.name,
+ "com.nokia.csd.Call.Error.CSInactive") == 0)
+ telephony_dial_number_rsp(telephony_device,
+ CME_ERROR_NO_NETWORK_SERVICE);
+ else
+ telephony_dial_number_rsp(telephony_device,
CME_ERROR_AG_FAILURE);
+ dbus_error_free(&err);
} else
telephony_dial_number_rsp(telephony_device, CME_ERROR_NONE);

--
1.7.1