fix: check L0 driver init success before setting teardown in L0 Loader

Related-To: LOCI-4499

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
This commit is contained in:
Neil R Spruit
2023-06-06 20:44:34 +00:00
committed by Compute-Runtime-Automation
parent ba6d447b4d
commit a5ca2f44fe
7 changed files with 81 additions and 19 deletions

View File

@@ -24,6 +24,7 @@
namespace L0 {
_ze_driver_handle_t *GlobalDriverHandle;
bool LevelZeroDriverInitialized = false;
uint32_t driverCount = 1;
void DriverImp::initialize(ze_result_t *result) {
@@ -125,9 +126,17 @@ static DriverImp driverImp;
Driver *Driver::driver = &driverImp;
ze_result_t init(ze_init_flags_t flags) {
if (flags && !(flags & ZE_INIT_FLAG_GPU_ONLY))
if (flags && !(flags & ZE_INIT_FLAG_GPU_ONLY)) {
L0::LevelZeroDriverInitialized = false;
return ZE_RESULT_ERROR_UNINITIALIZED;
else
return Driver::get()->driverInit(flags);
} else {
ze_result_t result = Driver::get()->driverInit(flags);
if (result == ZE_RESULT_SUCCESS) {
L0::LevelZeroDriverInitialized = true;
} else {
L0::LevelZeroDriverInitialized = false;
}
return result;
}
}
} // namespace L0

View File

@@ -26,4 +26,5 @@ ze_result_t driverHandleGet(uint32_t *pCount, ze_driver_handle_t *phDrivers);
extern bool sysmanInitFromCore;
extern uint32_t driverCount;
extern _ze_driver_handle_t *GlobalDriverHandle;
extern bool LevelZeroDriverInitialized;
} // namespace L0