2014-06-12 10:40:54

by Andrei Emeltchenko

[permalink] [raw]
Subject: [PATCH] android/gatt: Fix wrong check

From: Andrei Emeltchenko <[email protected]>

---
android/gatt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/android/gatt.c b/android/gatt.c
index cc3746c..8da77d0 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -4133,8 +4133,8 @@ static void fill_gatt_response_by_handle(uint16_t handle, uint16_t offset,

entry = queue_find(dev->pending_requests, match_dev_request_by_handle,
UINT_TO_PTR(handle));
- if (entry) {
- DBG("No pending response found! Bogus android response?");
+ if (!entry) {
+ error("No pending response found! Bogus android response?");
return;
}

--
1.8.3.2



2014-06-13 14:44:55

by Szymon Janc

[permalink] [raw]
Subject: Re: [PATCH] android/gatt: Fix wrong check

Hi Andrei,

On Thursday 12 of June 2014 13:40:54 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <[email protected]>
>
> ---
> android/gatt.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/android/gatt.c b/android/gatt.c
> index cc3746c..8da77d0 100644
> --- a/android/gatt.c
> +++ b/android/gatt.c
> @@ -4133,8 +4133,8 @@ static void fill_gatt_response_by_handle(uint16_t handle, uint16_t offset,
>
> entry = queue_find(dev->pending_requests, match_dev_request_by_handle,
> UINT_TO_PTR(handle));
> - if (entry) {
> - DBG("No pending response found! Bogus android response?");
> + if (!entry) {
> + error("No pending response found! Bogus android response?");
> return;
> }

I've already pushed similar fix from Marcin. But please rebase and send
DBG to error change.

--
Best regards,
Szymon Janc

2014-06-12 10:40:41

by Andrei Emeltchenko

[permalink] [raw]
Subject: Re: [PATCH] android/gatt: Fix wrong check

Hi Marcel,

On Thu, Jun 12, 2014 at 12:08:29PM +0200, Marcel Holtmann wrote:
> Hi Andrei,
>
> > android/gatt.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/android/gatt.c b/android/gatt.c
> > index cc3746c..08da856 100644
> > --- a/android/gatt.c
> > +++ b/android/gatt.c
> > @@ -4133,7 +4133,7 @@ static void fill_gatt_response_by_handle(uint16_t handle, uint16_t offset,
> >
> > entry = queue_find(dev->pending_requests, match_dev_request_by_handle,
> > UINT_TO_PTR(handle));
> > - if (entry) {
> > + if (!entry) {
> > DBG("No pending response found! Bogus android response?");
> > return;
>
> on a different note, if this is a case that is not suppose to happen and indicates a bug in Android Bluetooth service, we should at minimum print a warning here and not debug. Maybe even just print an error.
>

so change DGB() to error() ?

Best regards
Andrei Emeltchenko

2014-06-12 10:08:29

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] android/gatt: Fix wrong check

Hi Andrei,

> android/gatt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/android/gatt.c b/android/gatt.c
> index cc3746c..08da856 100644
> --- a/android/gatt.c
> +++ b/android/gatt.c
> @@ -4133,7 +4133,7 @@ static void fill_gatt_response_by_handle(uint16_t handle, uint16_t offset,
>
> entry = queue_find(dev->pending_requests, match_dev_request_by_handle,
> UINT_TO_PTR(handle));
> - if (entry) {
> + if (!entry) {
> DBG("No pending response found! Bogus android response?");
> return;

on a different note, if this is a case that is not suppose to happen and indicates a bug in Android Bluetooth service, we should at minimum print a warning here and not debug. Maybe even just print an error.

Regards

Marcel