Re: [PATCH BlueZ] Set BREDR not supported bit in AD Flag when discoverable is off

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

 



Hi,

On Fri, Jul 5, 2024 at 3:37 AM <quic_prathm@xxxxxxxxxxx> wrote:
>
> From: Prathibha Madugonde <quic_prathm@xxxxxxxxxxx>
>
> Fix for GAP/DISC/NONM/BV-02-C
> As per GAP.TS.p44 test spec
> IUT does not contain General Discoverable mode and Limited Discoverable
> mode in the AD Type Flag. IUT shall send AD Type Flag to PASS the test
> case, thus set BR/EDR not supported bit in the AD Type Flag when
> discoverable is off.
>
> client/advertising.c:
> Allowing discoverable property to list in the parsing
> function when discoverable is off.
>
> Test steps:
> From DUT, bluetoothctl go to menu advertise
> set discoverable to off and then advertise on.
> In AD Flags BR/EDR not supported BIT shall be set.
>
> ---
>  client/advertising.c | 8 +-------
>  src/advertising.c    | 3 +--
>  2 files changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/client/advertising.c b/client/advertising.c
> index a9b865a65..4a98121a4 100644
> --- a/client/advertising.c
> +++ b/client/advertising.c
> @@ -416,12 +416,6 @@ static gboolean get_data(const GDBusPropertyTable *property,
>         return TRUE;
>  }
>
> -static gboolean discoverable_exists(const GDBusPropertyTable *property,
> -                                                       void *data)
> -{
> -       return ad.discoverable;
> -}
> -
>  static gboolean get_discoverable(const GDBusPropertyTable *property,
>                                         DBusMessageIter *iter, void *user_data)
>  {
> @@ -498,7 +492,7 @@ static const GDBusPropertyTable ad_props[] = {
>         { "ManufacturerData", "a{qv}", get_manufacturer_data, NULL,
>                                                 manufacturer_data_exists },
>         { "Data", "a{yv}", get_data, NULL, data_exists },
> -       { "Discoverable", "b", get_discoverable, NULL, discoverable_exists },
> +       { "Discoverable", "b", get_discoverable, NULL, NULL },

Doesn't seems the above change have anything to do with the commit
description, perhaps you want to force it as non-discoverable in case
it is not set? I guess it makes sense but it should probably be made
into its own commit with proper description.

>         { "DiscoverableTimeout", "q", get_discoverable_timeout, NULL,
>                                                 discoverable_timeout_exists },
>         { "Includes", "as", get_includes, NULL, includes_exists },
> diff --git a/src/advertising.c b/src/advertising.c
> index 5d373e088..af3ed2b93 100644
> --- a/src/advertising.c
> +++ b/src/advertising.c
> @@ -734,8 +734,7 @@ static bool set_flags(struct btd_adv_client *client, uint8_t flags)
>         /* Set BR/EDR Not Supported if adapter is not discoverable but the
>          * instance is.
>          */
> -       if ((flags & (BT_AD_FLAG_GENERAL | BT_AD_FLAG_LIMITED)) &&
> -                       !btd_adapter_get_discoverable(client->manager->adapter))
> +       if (!btd_adapter_get_discoverable(client->manager->adapter))
>                 flags |= BT_AD_FLAG_NO_BREDR;
>
>         if (!bt_ad_add_flags(client->data, &flags, 1))
> --
> 2.17.1
>


-- 
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