Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f4f0572 authored by Ville Tervo's avatar Ville Tervo Committed by Gustavo Padovan
Browse files

Bluetooth: Do not send SET_EVENT_MASK for 1.1 and earlier devices



Some old hci controllers do not accept any mask so leave the
default mask on for these devices.

< HCI Command: Set Event Mask (0x03|0x0001) plen 8
    Mask: 0xfffffbff00000000
> HCI Event: Command Complete (0x0e) plen 4
    Set Event Mask (0x03|0x0001) ncmd 1
    status 0x12
    Error: Invalid HCI Command Parameters

Signed-off-by: default avatarVille Tervo <ville.tervo@nokia.com>
Tested-by: default avatarCorey Boyle <corey@kansanian.com>
Tested-by: default avatarEd Tomlinson <edt@aei.ca>
Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
parent 26e7acf3
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -477,14 +477,16 @@ static void hci_setup_event_mask(struct hci_dev *hdev)
	 * command otherwise */
	u8 events[8] = { 0xff, 0xff, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x00 };

	/* Events for 1.2 and newer controllers */
	if (hdev->lmp_ver > 1) {
	/* CSR 1.1 dongles does not accept any bitfield so don't try to set
	 * any event mask for pre 1.2 devices */
	if (hdev->lmp_ver <= 1)
		return;

	events[4] |= 0x01; /* Flow Specification Complete */
	events[4] |= 0x02; /* Inquiry Result with RSSI */
	events[4] |= 0x04; /* Read Remote Extended Features Complete */
	events[5] |= 0x08; /* Synchronous Connection Complete */
	events[5] |= 0x10; /* Synchronous Connection Changed */
	}

	if (hdev->features[3] & LMP_RSSI_INQ)
		events[4] |= 0x04; /* Inquiry Result with RSSI */