diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2012-03-29 16:03:59 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-03-30 15:50:50 -0500 |
commit | a2cf819c913c65fb9a019b8e62c8e77b8964929a (patch) | |
tree | 103843cd2c48b1a8af4f17de3da1bc23627b8836 /src/usr/devicefw/driverif.C | |
parent | df3648d7cd33ee146de3041d3f0d93a713075e26 (diff) | |
download | talos-hostboot-a2cf819c913c65fb9a019b8e62c8e77b8964929a.tar.gz talos-hostboot-a2cf819c913c65fb9a019b8e62c8e77b8964929a.zip |
Prevent double registration in device framework
The device framework code will log an error if more than one
function is registered for the same operation/access/target
combination.
Change-Id: Id5136c389250ed26d7b62ff3b71116bba54ceb89
RTC: 38760
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/805
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/devicefw/driverif.C')
-rw-r--r-- | src/usr/devicefw/driverif.C | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/usr/devicefw/driverif.C b/src/usr/devicefw/driverif.C index 89aeb4ca0..2536bddf0 100644 --- a/src/usr/devicefw/driverif.C +++ b/src/usr/devicefw/driverif.C @@ -25,6 +25,7 @@ */ #include <devicefw/driverif.H> #include <util/singleton.H> +#include <errl/errlmanager.H> #include "associator.H" @@ -42,10 +43,15 @@ namespace DeviceFW int64_t i_targetType, deviceOp_t i_regRoute) { - Singleton<Associator>::instance().registerRoute(i_opType, - i_accessType, - i_targetType, - i_regRoute); + errlHndl_t errhdl = + Singleton<Associator>::instance().registerRoute(i_opType, + i_accessType, + i_targetType, + i_regRoute); + if( errhdl ) + { + errlCommit(errhdl,DEVFW_COMP_ID); + } } // deviceRegisterRoute: |