mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-23 00:39:51 +00:00
fix exration of num hci cmds allowed from command status packets
This commit is contained in:
parent
89db417b22
commit
7ec5eeaa74
24
src/hci.c
24
src/hci.c
@ -323,16 +323,14 @@ static void event_handler(uint8_t *packet, int size){
|
||||
hci_connection_t * conn;
|
||||
int i;
|
||||
link_key_t link_key;
|
||||
|
||||
// get num_cmd_packets
|
||||
if (packet[0] == HCI_EVENT_COMMAND_COMPLETE || packet[0] == HCI_EVENT_COMMAND_STATUS){
|
||||
// Get Num_HCI_Command_Packets
|
||||
hci_stack.num_cmd_packets = packet[2];
|
||||
}
|
||||
|
||||
|
||||
switch (packet[0]) {
|
||||
|
||||
|
||||
case HCI_EVENT_COMMAND_COMPLETE:
|
||||
// get num cmd packets
|
||||
// log_dbg("HCI_EVENT_COMMAND_COMPLETE cmds old %u - new %u\n", hci_stack.num_cmd_packets, packet[2]);
|
||||
hci_stack.num_cmd_packets = packet[2];
|
||||
|
||||
if (COMMAND_COMPLETE_EVENT(packet, hci_read_buffer_size)){
|
||||
// from offset 5
|
||||
// status
|
||||
@ -349,6 +347,12 @@ static void event_handler(uint8_t *packet, int size){
|
||||
}
|
||||
break;
|
||||
|
||||
case HCI_EVENT_COMMAND_STATUS:
|
||||
// get num cmd packets
|
||||
// log_dbg("HCI_EVENT_COMMAND_STATUS cmds - old %u - new %u\n", hci_stack.num_cmd_packets, packet[3]);
|
||||
hci_stack.num_cmd_packets = packet[3];
|
||||
break;
|
||||
|
||||
case HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS:
|
||||
for (i=0; i<packet[2];i++){
|
||||
handle = READ_BT_16(packet, 3 + 2*i);
|
||||
@ -651,7 +655,7 @@ static int hci_power_control_wake(){
|
||||
|
||||
int hci_power_control(HCI_POWER_MODE power_mode){
|
||||
|
||||
log_dbg("hci_power_control: %u\n", power_mode);
|
||||
log_dbg("hci_power_control: %u, current mode %u\n", power_mode, hci_stack.state);
|
||||
|
||||
int err = 0;
|
||||
switch (hci_stack.state){
|
||||
@ -786,7 +790,7 @@ void hci_discoverable_control(uint8_t enable){
|
||||
}
|
||||
|
||||
void hci_run(){
|
||||
|
||||
|
||||
if (hci_stack.num_cmd_packets == 0) {
|
||||
// cannot send command yet
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user