summaryrefslogtreecommitdiffstats
path: root/parameter
diff options
context:
space:
mode:
authorFrédéric Boisnard <fredericx.boisnard@intel.com>2014-05-23 19:05:31 +0200
committerMattijs Korpershoek <mattijsx.korpershoek@intel.com>2014-06-25 10:52:33 +0200
commitda8298c82ada0f28b43c2fb9b41b3c096543ff3b (patch)
tree5d6afc0323ec85cc7bebf96560ea8c54f2d772e7 /parameter
parent9bf9c30fbf79c25fd1eabefc75d68e0d0dcbd5fd (diff)
downloadexternal_parameter-framework-da8298c82ada0f28b43c2fb9b41b3c096543ff3b.zip
external_parameter-framework-da8298c82ada0f28b43c2fb9b41b3c096543ff3b.tar.gz
external_parameter-framework-da8298c82ada0f28b43c2fb9b41b3c096543ff3b.tar.bz2
Fix bug when using setConfigurationParameter command
BZ: 189941 There is an issue when trying to set parameter value in a configuration using the setConfigurationParameter command. The error returned is "Unable to forward synchronize configurable element, Failed to write value in mixer control". The root cause is a recent update concerning the auto synchronization mode which is now turned on by default. The setConfigurationParameter command first updates the local Configuration blackboard, and then the Main blackboard if this Configuration is the one applicable for the domain. However, this local blackboard should not be synchronized, only the main blackboard should be. This patch deactivates synchronization for the local blackboard. Change-Id: I7ca71806309d19ae482399f474d32a0c1b70ae6c Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com>
Diffstat (limited to 'parameter')
-rw-r--r--parameter/ParameterMgr.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/parameter/ParameterMgr.cpp b/parameter/ParameterMgr.cpp
index 2882f67..32082b3 100644
--- a/parameter/ParameterMgr.cpp
+++ b/parameter/ParameterMgr.cpp
@@ -1638,6 +1638,15 @@ bool CParameterMgr::accessConfigurationValue(const string& strDomain, const stri
// Define Configuration context using Base Offset and keep Auto Sync off to prevent access to HW
CParameterAccessContext parameterAccessContext(strError, pConfigurationBlackboard, _bValueSpaceIsRaw, _bOutputRawFormatIsHex, uiBaseOffset);
+ // Deactivate the auto synchronization with the hardware during the Configuration Blackboard
+ // access (only Main Blackboard shall be synchronized, Configurations Blackboards are copied
+ // into the Main Blackboard each time a configuration is restored but they are not synchronized
+ // directly).
+ if (bSet) {
+
+ parameterAccessContext.setAutoSync(false);
+ }
+
// Access Value in the Configuration Blackboard
if (!accessValue(parameterAccessContext, strPath, strValue, bSet, strError)) {