2012-03-09 11:12:46

by Arkadiusz Lichwa

[permalink] [raw]
Subject: [PATCH BlueZ] lib: Populate response status field with rigth error code value taken from command status event.

---
lib/hci.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lib/hci.c b/lib/hci.c
index 269c021..186d408 100644
--- a/lib/hci.c
+++ b/lib/hci.c
@@ -1156,6 +1156,7 @@ int hci_send_req(int dd, struct hci_request *r, int to)

if (r->event != EVT_CMD_STATUS) {
if (cs->status) {
+ memcpy(r->rparam, &cs->status, 1);
errno = EIO;
goto failed;
}
--
1.7.0.4



2012-04-04 10:24:30

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH BlueZ] lib: Populate response status field with rigth error code value taken from command status event.

Hi Arek,

On Fri, Mar 09, 2012, Arek Lichwa wrote:
> ---
> lib/hci.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/lib/hci.c b/lib/hci.c
> index 269c021..186d408 100644
> --- a/lib/hci.c
> +++ b/lib/hci.c
> @@ -1156,6 +1156,7 @@ int hci_send_req(int dd, struct hci_request *r, int to)
>
> if (r->event != EVT_CMD_STATUS) {
> if (cs->status) {
> + memcpy(r->rparam, &cs->status, 1);
> errno = EIO;
> goto failed;
> }

I don't think we can apply this since it breaks the way that the library
function works (guaranteeing that rparam isn't touched if the function
returns an error).

Johan