don't enable LE Meta Event for non-LE chipsets - fixes problem with Kensington/CSR 2.1 Dongle

This commit is contained in:
matthias.ringwald@gmail.com 2013-10-18 08:27:49 +00:00
parent 7a77743ef8
commit d7e0e3a80c

View File

@ -1226,7 +1226,12 @@ void hci_run(){
hci_send_cmd(&hci_read_local_supported_features);
break;
case 6:
hci_send_cmd(&hci_set_event_mask,0xffffffff, 0xFFFFFFFF); ///0x1DFFFFFF
if (hci_le_supported()){
hci_send_cmd(&hci_set_event_mask,0xffffffff, 0x3FFFFFFF);
} else {
// Kensington Bluetoot 2.1 USB Dongle (CSR Chipset) returns an error for 0xffff...
hci_send_cmd(&hci_set_event_mask,0xffffffff, 0x1FFFFFFF);
}
// skip Classic init commands for LE only chipsets
if (!hci_classic_supported()){
@ -1234,7 +1239,7 @@ void hci_run(){
hci_stack.substate = 11 << 1; // skip all classic command
} else {
log_error("Neither BR/EDR nor LE supported");
hci_stack.substate = 13 << 1;
hci_stack.substate = 13 << 1; // skip all
}
}
break;