Hi, On Wed, Mar 6, 2019 at 2:52 PM Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > > From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > > The management interface expect all values to be in little endian > thus the length of uuids needs to be converted on big endian. > --- > src/adapter.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/adapter.c b/src/adapter.c > index b8a6bb6e2..160a6ca52 100644 > --- a/src/adapter.c > +++ b/src/adapter.c > @@ -1602,10 +1602,12 @@ static gboolean start_discovery_timeout(gpointer user_data) > sd_cp = adapter->current_discovery_filter; > > DBG("sending MGMT_OP_START_SERVICE_DISCOVERY %d, %d, %d", > - sd_cp->rssi, sd_cp->type, sd_cp->uuid_count); > + sd_cp->rssi, sd_cp->type, > + btohs(sd_cp->uuid_count)); > > mgmt_send(adapter->mgmt, MGMT_OP_START_SERVICE_DISCOVERY, > - adapter->dev_id, sizeof(*sd_cp) + sd_cp->uuid_count * 16, > + adapter->dev_id, sizeof(*sd_cp) + > + btohs(sd_cp->uuid_count) * 16, > sd_cp, start_discovery_complete, adapter, NULL); > > return FALSE; > @@ -2076,7 +2078,7 @@ static int discovery_filter_to_mgmt_cp(struct btd_adapter *adapter, > > cp->type = discovery_type; > cp->rssi = rssi; > - cp->uuid_count = uuid_count; > + cp->uuid_count = htobs(uuid_count); > populate_mgmt_filter_uuids(cp->uuids, uuids); > > g_slist_free(uuids); > -- > 2.17.2 > Applied. -- Luiz Augusto von Dentz