If HF has already requested for the Extended Error result code reporting,
then send the same in certain failure cases. Earlier in this case we were
sending normal Error.
---
audio/headset.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/audio/headset.c b/audio/headset.c
index 6aef6a8..5455340 100644
--- a/audio/headset.c
+++ b/audio/headset.c
@@ -1331,7 +1331,13 @@ static gboolean rfcomm_io_cb(GIOChannel *chan, GIOCondition cond,
if (err == -EINVAL) {
error("Badly formated or unrecognized command: %s",
&slc->buf[slc->data_start]);
- err = headset_send(hs, "\r\nERROR\r\n");
+
+ if (slc->cme_enabled)
+ err = headset_send(hs, "\r\n+CME ERROR: %d\r\n",
+ CME_ERROR_NOT_SUPPORTED);
+ else
+ err = headset_send(hs, "\r\nERROR\r\n");
+
if (err < 0)
goto failed;
} else if (err < 0)
--
1.7.4.1
Hi Syam,
On Wed, Jan 11, 2012, Syam Sidhardhan wrote:
> If HF has already requested for the Extended Error result code reporting,
> then send the same in certain failure cases. Earlier in this case we were
> sending normal Error.
> ---
> audio/headset.c | 8 +++++++-
> 1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/audio/headset.c b/audio/headset.c
> index 6aef6a8..5455340 100644
> --- a/audio/headset.c
> +++ b/audio/headset.c
> @@ -1331,7 +1331,13 @@ static gboolean rfcomm_io_cb(GIOChannel *chan, GIOCondition cond,
> if (err == -EINVAL) {
> error("Badly formated or unrecognized command: %s",
> &slc->buf[slc->data_start]);
> - err = headset_send(hs, "\r\nERROR\r\n");
> +
> + if (slc->cme_enabled)
> + err = headset_send(hs, "\r\n+CME ERROR: %d\r\n",
> + CME_ERROR_NOT_SUPPORTED);
> + else
> + err = headset_send(hs, "\r\nERROR\r\n");
> +
> if (err < 0)
> goto failed;
> } else if (err < 0)
In this case it'd be easier to just do this:
err = telephony_generic_rsp(device, CME_ERROR_NOT_SUPPORTED);
It'll do the cme_enabled check for you and send the right response
string.
Johan