diff --git a/features/FEATURE_BLE/source/generic/GenericGap.cpp b/features/FEATURE_BLE/source/generic/GenericGap.cpp index 2fbd56f4c2..e21bda6fbc 100644 --- a/features/FEATURE_BLE/source/generic/GenericGap.cpp +++ b/features/FEATURE_BLE/source/generic/GenericGap.cpp @@ -1782,7 +1782,8 @@ void GenericGap::on_disconnection_complete(const pal::GapDisconnectionCompleteEv void GenericGap::on_connection_parameter_request(const pal::GapRemoteConnectionParameterRequestEvent &e) { if (_user_manage_connection_parameter_requests) { - _eventHandler->onUpdateConnectionParametersRequest( + if (_eventHandler) { + _eventHandler->onUpdateConnectionParametersRequest( UpdateConnectionParametersRequestEvent( e.connection_handle, conn_interval_t(e.min_connection_interval), @@ -1791,6 +1792,7 @@ void GenericGap::on_connection_parameter_request(const pal::GapRemoteConnectionP supervision_timeout_t(e.supervision_timeout) ) ); + } } else { _pal_gap.accept_connection_parameter_request( e.connection_handle, @@ -1806,6 +1808,10 @@ void GenericGap::on_connection_parameter_request(const pal::GapRemoteConnectionP void GenericGap::on_connection_update(const pal::GapConnectionUpdateEvent &e) { + if (!_eventHandler) { + return; + } + _eventHandler->onConnectionParametersUpdateComplete( ConnectionParametersUpdateCompleteEvent( e.status == pal::hci_error_code_t::SUCCESS ? BLE_ERROR_NONE : BLE_ERROR_UNSPECIFIED,