Bluetooth: Add supported data types to ext info changed event
authorMichał Narajowski <michal.narajowski@codecoup.pl>
Mon, 19 Sep 2016 18:25:55 +0000 (20:25 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 19 Sep 2016 18:33:27 +0000 (20:33 +0200)
This patch adds EIR data to extended info changed event.

Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/mgmt.c

index d3837e0633afb1b3a0cd969dc6eae4cf094daa3f..29e5ce95c50cc8a7e53d1db4fcdbaab603d65e6d 100644 (file)
@@ -954,12 +954,18 @@ static int read_ext_controller_info(struct sock *sk, struct hci_dev *hdev,
 
 static int ext_info_changed(struct hci_dev *hdev, struct sock *skip)
 {
-       struct mgmt_ev_ext_info_changed ev;
+       char buf[512];
+       struct mgmt_ev_ext_info_changed *ev = (void *)buf;
+       u16 eir_len;
 
-       ev.eir_len = cpu_to_le16(0);
+       memset(buf, 0, sizeof(buf));
+
+       eir_len = append_eir_data_to_buf(hdev, ev->eir);
+       ev->eir_len = cpu_to_le16(eir_len);
 
-       return mgmt_limited_event(MGMT_EV_EXT_INFO_CHANGED, hdev, &ev,
-                                 sizeof(ev), HCI_MGMT_EXT_INFO_EVENTS, skip);
+       return mgmt_limited_event(MGMT_EV_EXT_INFO_CHANGED, hdev, ev,
+                                 sizeof(*ev) + eir_len,
+                                 HCI_MGMT_EXT_INFO_EVENTS, skip);
 }
 
 static int send_settings_rsp(struct sock *sk, u16 opcode, struct hci_dev *hdev)