Bluetooth: Enable LE Channel Selection Algorithm event
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 2 May 2017 06:54:17 +0000 (23:54 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 18 May 2017 11:52:49 +0000 (13:52 +0200)
If the Channel Selection Algorithm #2 feature is supported, then enable
the new LE Channel Selection Algorithm event.

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

index 99aa5e5..dd43cfd 100644 (file)
@@ -399,6 +399,7 @@ enum {
 #define HCI_LE_PING                    0x10
 #define HCI_LE_DATA_LEN_EXT            0x20
 #define HCI_LE_EXT_SCAN_POLICY         0x80
+#define HCI_LE_CHAN_SEL_ALG2           0x40
 
 /* Connection modes */
 #define HCI_CM_ACTIVE  0x0000
index 4a0cac7..e58b903 100644 (file)
@@ -635,6 +635,14 @@ static int hci_init3_req(struct hci_request *req, unsigned long opt)
                                                 * Report
                                                 */
 
+               /* If the controller supports Channel Selection Algorithm #2
+                * feature, enable the corresponding event.
+                */
+               if (hdev->le_features[1] & HCI_LE_CHAN_SEL_ALG2)
+                       events[2] |= 0x08;      /* LE Channel Selection
+                                                * Algorithm
+                                                */
+
                /* If the controller supports the LE Set Scan Enable command,
                 * enable the corresponding advertising report event.
                 */