Bluetooth: Enable events for P-256 Public Key and DHKey commands
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 5 Dec 2014 15:20:15 +0000 (16:20 +0100)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 5 Dec 2014 16:17:49 +0000 (18:17 +0200)
When the LE Read Local P-256 Public Key command is supported, then
enable its corresponding complete event. And when the LE Generate DHKey
command is supported, enable its corresponding complete event as well.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
net/bluetooth/hci_core.c

index c1d5726..93f92a0 100644 (file)
@@ -1743,6 +1743,20 @@ static void hci_init3_req(struct hci_request *req, unsigned long opt)
                                                 * Report
                                                 */
 
+               /* If the controller supports the LE Read Local P-256
+                * Public Key command, enable the corresponding event.
+                */
+               if (hdev->commands[34] & 0x02)
+                       events[0] |= 0x80;      /* LE Read Local P-256
+                                                * Public Key Complete
+                                                */
+
+               /* If the controller supports the LE Generate DHKey
+                * command, enable the corresponding event.
+                */
+               if (hdev->commands[34] & 0x04)
+                       events[1] |= 0x01;      /* LE Generate DHKey Complete */
+
                hci_req_add(req, HCI_OP_LE_SET_EVENT_MASK, sizeof(events),
                            events);