diff options
Diffstat (limited to 'cpukit/libdrvmgr')
-rw-r--r-- | cpukit/libdrvmgr/drvmgr.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/cpukit/libdrvmgr/drvmgr.c b/cpukit/libdrvmgr/drvmgr.c index 7c37afd808..66d6cfa0e7 100644 --- a/cpukit/libdrvmgr/drvmgr.c +++ b/cpukit/libdrvmgr/drvmgr.c @@ -68,14 +68,15 @@ void _DRV_Manager_init_level(int level) { struct drvmgr *mgr = &drvmgr; - if (mgr->level >= level) - return; + if (mgr->level < level) { + /* Set new Level */ + mgr->level = level; - /* Set new Level */ - mgr->level = level; + /* Initialize buses and devices into this new level */ + drvmgr_init_update(); + } - /* Initialize buses and devices into this new level */ - drvmgr_init_update(); + bsp_driver_level_hook(level); } /* Initialize Data structures of the driver manager and call driver |