[Matter] Bluetooth: settings_load is only called if CONFIG_BT_BONDABLE is set

I'm not sure if this is the right place for this question.

I'm using the Settings subsystem for the BLE name.

When BLE is initialized inside matter, settings_load is only called if CONFIG_BT_BONDABLE is set (modules/lib/matter/src/platform/Zephyr/BLEManagerImpl.cpp). This leads to the error "Can't register service after init and before settings are loaded." when matter tries to register the GATT service.

I can fix this by calling settings_load before initializing matter, but this results in the BLE name being an empty string. The problem here is that BLE settings are only loaded when calling settings_load after bt_enable.

Therefore I have to post a task to matter that calls settings_load_subtree("bt")) and restarts the advertising. Then everything works as expected.

Is this a bug or am I missing something here?

Related