Re: [BlueZ PATCH v2] shared/gatt-client:Ignore orphaned characteristics

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

 



Hi Luiz,

On Fri, May 1, 2020 at 4:46 PM Luiz Augusto von Dentz
<luiz.dentz@xxxxxxxxx> wrote:
>
> Hi Alain,
>
> On Fri, May 1, 2020 at 12:27 PM Alain Michaud <alainm@xxxxxxxxxxxx> wrote:
> >
> > The gatt discovery proceedure simplification to discover all
> > characteristics at once has exposed a device side issue where some
> > device implementation reports orphaned characteristics.  While this
> > technically shouldn't be allowed, some instances of this were observed
> > (namely on some Android phones).
> >
> > The fix is to simply skip over orphaned characteristics and continue
> > with everything else that is valid.
> >
> > This has been tested as part of the Android CTS tests against an
> > affected platform and was confirmed to have worked around the issue.
> >
> > Signed-off-by: Alain Michaud <alainm@xxxxxxxxxxxx>
> > ---
> >
> >  src/shared/gatt-client.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
> > index 963ad619f..507b4d304 100644
> > --- a/src/shared/gatt-client.c
> > +++ b/src/shared/gatt-client.c
> > @@ -632,7 +632,13 @@ static bool discover_descs(struct discovery_op *op, bool *discovering)
> >                         util_debug(client->debug_callback, client->debug_data,
> >                                 "Failed to insert characteristic at 0x%04x",
> >                                 chrc_data->value_handle);
> > -                       goto failed;
> > +
> > +                       /* Some devices have been seen reporting orphaned
> > +                        * characteristics.  In order to favor interoperability
> > +                        * we skip over characteristics in error
> > +                        */
> > +                       free(chrc_data);
> > +                       continue;
> >                 }
> >
> >                 if (gatt_db_attribute_get_handle(attr) !=
> > --
> > 2.26.2.526.g744177e7f7-goog
> >
>
> Applied, thanks. Note that I drop the Signed-off-by line since we
> don't use that on userspace.
Thanks, sorry, this is automatically added by the tools I use to
automate the patch upload and I need to remember to remove it.  Sadly,
it's a manual process and is vulnerable to my poor memory :P
>
> --
> Luiz Augusto von Dentz



[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