All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: "linux-bluetooth@vger.kernel.org"
	<linux-bluetooth@vger.kernel.org>,
	David Heidelberg <david@ixit.cz>
Subject: Re: [PATCH 1/3] src/profile: Distinguish between zero-set HFP AG features and unset HFP AG features
Date: Mon, 13 Apr 2020 19:17:22 +0200	[thread overview]
Message-ID: <20200413171722.ilawhisu67onrifn@pali> (raw)
In-Reply-To: <CABBYNZJYj=i4+SemOAST18Jn20Nn03C_NyfB+aBLc5L9Yg11_A@mail.gmail.com>

On Monday 13 April 2020 09:58:34 Luiz Augusto von Dentz wrote:
> Hi Pali,
> 
> On Mon, Apr 13, 2020 at 9:52 AM Pali Rohár <pali@kernel.org> wrote:
> >
> > On Monday 13 April 2020 09:44:14 Luiz Augusto von Dentz wrote:
> > > On Mon, Apr 13, 2020 at 9:25 AM Pali Rohár <pali@kernel.org> wrote:
> > > > @@ -1750,15 +1758,19 @@ static int ext_disconnect_dev(struct btd_service *service)
> > > >  static char *get_hfp_hf_record(struct ext_profile *ext, struct ext_io *l2cap,
> > > >                                                         struct ext_io *rfcomm)
> > > >  {
> > > > +       /* HFP 1.7.2: By default features bitfield is 0b000000 */
> > > >         return g_strdup_printf(HFP_HF_RECORD, rfcomm->chan, ext->version,
> > > > -                                               ext->name, ext->features);
> > > > +                               ext->name,
> > > > +                               ext->have_features ? ext->features : 0x0);
> > > >  }
> > > >
> > > >  static char *get_hfp_ag_record(struct ext_profile *ext, struct ext_io *l2cap,
> > > >                                                         struct ext_io *rfcomm)
> > > >  {
> > > > +       /* HFP 1.7.2: By default features bitfield is 0b001001 */
> > > >         return g_strdup_printf(HFP_AG_RECORD, rfcomm->chan, ext->version,
> > > > -                                               ext->name, ext->features);
> > > > +                               ext->name,
> > > > +                               ext->have_features ? ext->features : 0x9);
> > >
> > > I wonder why you didn't just initialize the features wiht 0x9 instead
> > > of adding a flag to track it, btw add a define with value 0x09 like
> > > HFP_DEFAULT_FEATURES that way it is clearer why we are doing this.
> >
> > This function get_hfp_ag_record() is for parsing local features. You are
> > right that for local features we do not need a flag to track it.
> >
> > But flag for tracking is needed for parsing remote features. And to have
> > unified code for storing local and remote features it is easier to have
> > always a flag for checking if features were provided or not.
> 
> Im not following you about the remote features beinf different, I
> though both would be could be initialized in the same way and then if
> we read a different value from the SDP record we just overwrite it.

But in this case we put these default remote features to HFP DBus agent
like if they were specified in SDP. Default value is specific for
profile version. And if e.g. new HFP version defines a new bit in
features with its own default value then HFP DBus agent would not be
able to distinguish between state when remote device did not specified
any value (as bluez will put there some defaults) and when remote device
specified same features as bluez has defined in its current default
value.

Before and also after this change remote features are not send to HFP
DBus agent when they were not specified by remote device.

After your suggestion HFP DBus agent would not be able to check if
remote device provided features or not. And this is I think a
regression.

> > I can put these default values in profile-role specific macros e.g.:
> >
> > #define HFP_AG_DEFAULT_FEATURES 0x09
> > #define HFP_HF_DEFAULT_FEATURES 0x00
> > #define HSP_HS_DEFAULT_VOLCNTRL "false"
> 
> Don't bother with default that are 0x00/false, we can assume this is
> implicit when allocating the memory everything is set to 0 so these
> defines wouldn't be needed in the first place.
> 
> > Or do you prefer different names?
> 
> 
> 
> -- 
> Luiz Augusto von Dentz

  reply	other threads:[~2020-04-13 17:17 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-12 17:29 bluez: Export SDP "Remote audio volume control" item for HSP profile Pali Rohár
2019-12-12 19:42 ` Luiz Augusto von Dentz
2019-12-12 23:03   ` Pali Rohár
2020-02-09 13:02     ` Pali Rohár
2020-03-20 13:01       ` Pali Rohár
2020-03-20 17:48         ` Luiz Augusto von Dentz
2020-03-21 18:40           ` Pali Rohár
2020-03-21 19:54             ` Pali Rohár
2020-04-13 16:25               ` [PATCH 0/3] " Pali Rohár
2020-04-13 16:25                 ` [PATCH 1/3] src/profile: Distinguish between zero-set HFP AG features and unset HFP AG features Pali Rohár
2020-04-13 16:44                   ` Luiz Augusto von Dentz
2020-04-13 16:52                     ` Pali Rohár
2020-04-13 16:58                       ` Luiz Augusto von Dentz
2020-04-13 17:17                         ` Pali Rohár [this message]
2020-04-13 17:47                           ` Luiz Augusto von Dentz
2020-04-13 17:58                             ` Pali Rohár
2020-04-13 19:41                               ` Luiz Augusto von Dentz
2020-04-13 19:51                                 ` Pali Rohár
2020-04-13 20:24                                   ` Luiz Augusto von Dentz
2020-04-13 20:42                                     ` Pali Rohár
2020-04-13 21:07                                       ` Luiz Augusto von Dentz
2020-04-13 22:26                                         ` Pali Rohár
2020-04-13 16:25                 ` [PATCH 2/3] src/profile: Export Remote Audio Volume Control SDP value for HSP HS role via first bit in features value Pali Rohár
2020-04-13 16:25                 ` [PATCH 3/3] src/profile: Add default SDP record for Headset role of HSP 1.2 profile with Erratum 3507 Pali Rohár
2020-04-13 16:51                   ` Luiz Augusto von Dentz
2020-04-14  0:09                 ` [PATCH 0/3] bluez: Export SDP "Remote audio volume control" item for HSP profile Luiz Augusto von Dentz
2020-04-14  8:09                   ` Pali Rohár
2020-04-14 19:53                   ` Pali Rohár
2020-04-14 20:28                     ` Luiz Augusto von Dentz
2020-04-14 20:46                       ` [PATCH] doc: Update documentation for HSP and HFP profiles Pali Rohár
2020-04-14 21:03                         ` Luiz Augusto von Dentz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200413171722.ilawhisu67onrifn@pali \
    --to=pali@kernel.org \
    --cc=david@ixit.cz \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.