From 6b0ba64ee267b23708acce8dc3308e627149d161 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 21 Feb 2018 18:35:44 +0000 Subject: [PATCH] SM fixes to init and register the event handler correctly --- features/FEATURE_BLE/source/generic/GenericGap.cpp | 2 +- .../FEATURE_BLE/source/generic/GenericSecurityManager.cpp | 1 + .../FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp | 6 +++--- .../TARGET_CORDIO/source/CordioPalSecurityManager.cpp | 6 +++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/features/FEATURE_BLE/source/generic/GenericGap.cpp b/features/FEATURE_BLE/source/generic/GenericGap.cpp index 55e1e5ef80..03eb13ea81 100644 --- a/features/FEATURE_BLE/source/generic/GenericGap.cpp +++ b/features/FEATURE_BLE/source/generic/GenericGap.cpp @@ -44,7 +44,7 @@ static const uint16_t advertising_interval_max = 0x4000; static const uint16_t supervision_timeout_min = 0x000A; static const uint16_t supervision_timeout_max = 0x0C80; -static const ConnectionParams_t default_connection_params = { +static const Gap::ConnectionParams_t default_connection_params = { /* min conn interval */ 50, /* max conn interval */ 100, /* slave latency */ 0, diff --git a/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp b/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp index 6d38ddc793..514a9f20ee 100644 --- a/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp +++ b/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp @@ -56,6 +56,7 @@ ble_error_t GenericSecurityManager::init( } _connection_monitor.set_connection_event_handler(this); + _pal.set_event_handler(this); _pal.generate_public_key(); diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp index e6e6c88b73..93a5327012 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp @@ -218,7 +218,7 @@ SecurityManager& BLE::getSecurityManager() const SecurityManager& BLE::getSecurityManager() const { static pal::MemorySecurityDb m_db; - static pal::vendor::cordio::CordioSecurityManager m_pal; + pal::vendor::cordio::CordioSecurityManager &m_pal = pal::vendor::cordio::CordioSecurityManager::get_security_manager(); static generic::GenericSecurityManager m_instance( m_pal, m_db, @@ -347,10 +347,8 @@ void BLE::stack_setup() DmSecInit(); // Note: enable once security is supported -#if 0 DmSecLescInit(); DmPrivInit(); -#endif DmHandlerInit(handlerId); handlerId = WsfOsSetNextHandler(L2cSlaveHandler); @@ -374,6 +372,8 @@ void BLE::stack_setup() stack_handler_id = WsfOsSetNextHandler(&BLE::stack_handler); + HciSetMaxRxAclLen(100); + DmRegister(BLE::device_manager_cb); DmConnRegister(DM_CLIENT_ID_APP, BLE::device_manager_cb); AttConnRegister(BLE::connection_handler); diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp index 5544c2cc26..21a95889e0 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp @@ -43,17 +43,17 @@ CordioSecurityManager::~CordioSecurityManager() ble_error_t CordioSecurityManager::initialize() { - return BLE_ERROR_NOT_IMPLEMENTED; + return BLE_ERROR_NONE; } ble_error_t CordioSecurityManager::terminate() { - return BLE_ERROR_NOT_IMPLEMENTED; + return BLE_ERROR_NONE; } ble_error_t CordioSecurityManager::reset() { - return BLE_ERROR_NOT_IMPLEMENTED; + return BLE_ERROR_NONE; } ////////////////////////////////////////////////////////////////////////////