diff --git a/components/bt/bluedroid/device/controller.c b/components/bt/bluedroid/device/controller.c index a748f0f53..f0963b469 100644 --- a/components/bt/bluedroid/device/controller.c +++ b/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); diff --git a/components/bt/bluedroid/hci/hci_packet_factory.c b/components/bt/bluedroid/hci/hci_packet_factory.c index ae204caf4..45f3f687f 100644 --- a/components/bt/bluedroid/hci/hci_packet_factory.c +++ b/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() diff --git a/components/bt/bluedroid/hci/include/hci/hci_packet_factory.h b/components/bt/bluedroid/hci/include/hci/hci_packet_factory.h index e48c4be43..21bd2c9a6 100644 --- a/components/bt/bluedroid/hci/include/hci/hci_packet_factory.h +++ b/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(); diff --git a/components/bt/lib b/components/bt/lib index 69f3de001..e554aab88 160000 --- a/components/bt/lib +++ b/components/bt/lib @@ -1 +1 @@ -Subproject commit 69f3de0011e4d1ae278af34f73e28d98c551304a +Subproject commit e554aab8844208a3660f7c38b189834b0d463592