Bluetooth: Build LE event mask based on supported commands
The LE event mask should be created based on the commands that are actually supported by the controller. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
70f56aa2ee
commit
7d26f5c4be
|
@ -781,7 +781,6 @@ static void hci_init3_req(struct hci_request *req, unsigned long opt)
|
|||
u8 events[8];
|
||||
|
||||
memset(events, 0, sizeof(events));
|
||||
events[0] = 0x0f;
|
||||
|
||||
if (hdev->le_features[0] & HCI_LE_ENCRYPTION)
|
||||
events[0] |= 0x10; /* LE Long Term Key Request */
|
||||
|
@ -808,6 +807,34 @@ static void hci_init3_req(struct hci_request *req, unsigned long opt)
|
|||
* Report
|
||||
*/
|
||||
|
||||
/* If the controller supports the LE Set Scan Enable command,
|
||||
* enable the corresponding advertising report event.
|
||||
*/
|
||||
if (hdev->commands[26] & 0x08)
|
||||
events[0] |= 0x02; /* LE Advertising Report */
|
||||
|
||||
/* If the controller supports the LE Create Connection
|
||||
* command, enable the corresponding event.
|
||||
*/
|
||||
if (hdev->commands[26] & 0x10)
|
||||
events[0] |= 0x01; /* LE Connection Complete */
|
||||
|
||||
/* If the controller supports the LE Connection Update
|
||||
* command, enable the corresponding event.
|
||||
*/
|
||||
if (hdev->commands[27] & 0x04)
|
||||
events[0] |= 0x04; /* LE Connection Update
|
||||
* Complete
|
||||
*/
|
||||
|
||||
/* If the controller supports the LE Read Remote Used Features
|
||||
* command, enable the corresponding event.
|
||||
*/
|
||||
if (hdev->commands[27] & 0x20)
|
||||
events[0] |= 0x08; /* LE Read Remote Used
|
||||
* Features Complete
|
||||
*/
|
||||
|
||||
/* If the controller supports the LE Read Local P-256
|
||||
* Public Key command, enable the corresponding event.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue