From: Iulia Tanasescu <iulia.tanasescu@nxp.com>
To: linux-bluetooth@vger.kernel.org
Cc: claudia.rosu@nxp.com, mihai-octavian.urzica@nxp.com,
silviu.barbulescu@nxp.com, vlad.pruteanu@nxp.com,
andrei.istodorescu@nxp.com,
Iulia Tanasescu <iulia.tanasescu@nxp.com>
Subject: [PATCH 1/2] Bluetooth: ISO: Add MGMT event for BIGInfo adv report
Date: Thu, 24 Aug 2023 13:16:34 +0300 [thread overview]
Message-ID: <20230824101635.25662-2-iulia.tanasescu@nxp.com> (raw)
In-Reply-To: <20230824101635.25662-1-iulia.tanasescu@nxp.com>
This introduces the MGMT_EV_LE_BIG_INFO_ADV_REPORT event.
Signed-off-by: Iulia Tanasescu <iulia.tanasescu@nxp.com>
---
include/net/bluetooth/hci_core.h | 2 ++
include/net/bluetooth/mgmt.h | 18 ++++++++++++++++++
net/bluetooth/hci_event.c | 7 ++++++-
net/bluetooth/mgmt.c | 8 ++++++++
4 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index e6359f7346f1..ad6d24f17b73 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -2230,6 +2230,8 @@ void mgmt_discovering(struct hci_dev *hdev, u8 discovering);
void mgmt_suspending(struct hci_dev *hdev, u8 state);
void mgmt_resuming(struct hci_dev *hdev, u8 reason, bdaddr_t *bdaddr,
u8 addr_type);
+int mgmt_le_big_info_adv_report(struct hci_dev *hdev,
+ struct hci_evt_le_big_info_adv_report *ev);
bool mgmt_powering_down(struct hci_dev *hdev);
void mgmt_new_ltk(struct hci_dev *hdev, struct smp_ltk *key, bool persistent);
void mgmt_new_irk(struct hci_dev *hdev, struct smp_irk *irk, bool persistent);
diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h
index d382679efd2b..5f7ad5bc5f73 100644
--- a/include/net/bluetooth/mgmt.h
+++ b/include/net/bluetooth/mgmt.h
@@ -3,6 +3,7 @@
Copyright (C) 2010 Nokia Corporation
Copyright (C) 2011-2012 Intel Corporation
+ Copyright 2023 NXP
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
@@ -1177,3 +1178,20 @@ struct mgmt_ev_mesh_device_found {
struct mgmt_ev_mesh_pkt_cmplt {
__u8 handle;
} __packed;
+
+#define MGMT_EV_LE_BIG_INFO_ADV_REPORT 0x0033
+struct mgmt_ev_le_big_info_adv_report {
+ __le16 sync_handle;
+ __u8 num_bis;
+ __u8 nse;
+ __le16 iso_interval;
+ __u8 bn;
+ __u8 pto;
+ __u8 irc;
+ __le16 max_pdu;
+ __u8 sdu_interval[3];
+ __le16 max_sdu;
+ __u8 phy;
+ __u8 framing;
+ __u8 encryption;
+} __packed;
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 35f251041eeb..3af1a532c9a0 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -7161,9 +7161,14 @@ static void hci_le_big_info_adv_report_evt(struct hci_dev *hdev, void *data,
hci_dev_lock(hdev);
mask |= hci_proto_connect_ind(hdev, BDADDR_ANY, ISO_LINK, &flags);
- if (!(mask & HCI_LM_ACCEPT))
+ if (!(mask & HCI_LM_ACCEPT)) {
hci_le_pa_term_sync(hdev, ev->sync_handle);
+ goto unlock;
+ }
+
+ mgmt_le_big_info_adv_report(hdev, ev);
+unlock:
hci_dev_unlock(hdev);
}
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index ba2e00646e8e..25334833f7d5 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3,6 +3,7 @@
Copyright (C) 2010 Nokia Corporation
Copyright (C) 2011-2012 Intel Corporation
+ Copyright 2023 NXP
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
@@ -10523,6 +10524,13 @@ void mgmt_resuming(struct hci_dev *hdev, u8 reason, bdaddr_t *bdaddr,
mgmt_event(MGMT_EV_CONTROLLER_RESUME, hdev, &ev, sizeof(ev), NULL);
}
+int mgmt_le_big_info_adv_report(struct hci_dev *hdev,
+ struct hci_evt_le_big_info_adv_report *ev)
+{
+ return mgmt_event(MGMT_EV_LE_BIG_INFO_ADV_REPORT, hdev,
+ (struct mgmt_ev_le_big_info_adv_report *)ev, sizeof(*ev), NULL);
+}
+
static struct hci_mgmt_chan chan = {
.channel = HCI_CHANNEL_CONTROL,
.handler_count = ARRAY_SIZE(mgmt_handlers),
--
2.34.1
next prev parent reply other threads:[~2023-08-24 10:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-24 10:16 [PATCH 0/2] Add support for handling encrypted BIGs based on BIGInfo reports Iulia Tanasescu
2023-08-24 10:16 ` Iulia Tanasescu [this message]
2023-08-24 11:02 ` bluez.test.bot
2023-08-24 10:16 ` [PATCH 2/2] Bluetooth: ISO: Pass sync_handle through iso qos Iulia Tanasescu
-- strict thread matches above, loose matches on Subject: below --
2023-08-21 12:00 [PATCH 0/2] Add support for handling encrypted BIGs based on BIGInfo reports Iulia Tanasescu
2023-08-21 12:00 ` [PATCH 1/2] Bluetooth: ISO: Add MGMT event for BIGInfo adv report Iulia Tanasescu
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=20230824101635.25662-2-iulia.tanasescu@nxp.com \
--to=iulia.tanasescu@nxp.com \
--cc=andrei.istodorescu@nxp.com \
--cc=claudia.rosu@nxp.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=mihai-octavian.urzica@nxp.com \
--cc=silviu.barbulescu@nxp.com \
--cc=vlad.pruteanu@nxp.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.