Преглед изворни кода

component/bt: bugfix for erroneous data reporting always enabled

wangmengyang пре 7 година
родитељ
комит
1ade9a34d2

+ 3 - 0
components/bt/bluedroid/device/controller.c

@@ -258,6 +258,9 @@ static void start_up(void)
 #if (BTM_SCO_HCI_INCLUDED == TRUE)
     response = AWAIT_COMMAND(packet_factory->make_write_sync_flow_control_enable(1));
     packet_parser->parse_generic_command_complete(response);
+
+    response = AWAIT_COMMAND(packet_factory->make_write_default_erroneous_data_report(1));
+    packet_parser->parse_generic_command_complete(response);
 #endif
     readable = true;
     // return future_new_immediate(FUTURE_SUCCESS);

+ 12 - 1
components/bt/bluedroid/hci/hci_packet_factory.c

@@ -194,6 +194,16 @@ static BT_HDR *make_write_sync_flow_control_enable(uint8_t enable)
     UINT8_TO_STREAM(stream, enable);
     return packet;
 }
+
+static BT_HDR *make_write_default_erroneous_data_report(uint8_t enable)
+{
+    uint8_t *stream;
+    const uint8_t parameter_size = 1;
+    BT_HDR *packet = make_command(HCI_WRITE_ERRONEOUS_DATA_RPT, parameter_size, &stream);
+
+    UINT8_TO_STREAM(stream, enable);
+    return packet;
+}
 // Internal functions
 
 static BT_HDR *make_command_no_params(uint16_t opcode)
@@ -248,7 +258,8 @@ static const hci_packet_factory_t interface = {
     make_ble_read_suggested_default_data_length,
     make_ble_write_suggested_default_data_length,
     make_ble_set_event_mask,
-    make_write_sync_flow_control_enable
+    make_write_sync_flow_control_enable,
+    make_write_default_erroneous_data_report,
 };
 
 const hci_packet_factory_t *hci_packet_factory_get_interface()

+ 1 - 0
components/bt/bluedroid/hci/include/hci/hci_packet_factory.h

@@ -44,6 +44,7 @@ typedef struct {
     BT_HDR *(*make_ble_write_suggested_default_data_length)(uint16_t SuggestedMaxTxOctets, uint16_t SuggestedMaxTxTime);
     BT_HDR *(*make_ble_set_event_mask)(const bt_event_mask_t *event_mask);
     BT_HDR *(*make_write_sync_flow_control_enable)(uint8_t enable);
+    BT_HDR *(*make_write_default_erroneous_data_report)(uint8_t enable);
 } hci_packet_factory_t;
 
 const hci_packet_factory_t *hci_packet_factory_get_interface();

+ 1 - 1
components/bt/lib

@@ -1 +1 @@
-Subproject commit 69f3de0011e4d1ae278af34f73e28d98c551304a
+Subproject commit e554aab8844208a3660f7c38b189834b0d463592