diff --git a/level_zero/tools/source/sysman/ras/ras.cpp b/level_zero/tools/source/sysman/ras/ras.cpp index a72b144d15..0a1c6c042d 100644 --- a/level_zero/tools/source/sysman/ras/ras.cpp +++ b/level_zero/tools/source/sysman/ras/ras.cpp @@ -21,7 +21,18 @@ void RasHandleContext::init() { } ze_result_t RasHandleContext::rasGet(uint32_t *pCount, zet_sysman_ras_handle_t *phRas) { - *pCount = 0; + if (nullptr == phRas) { + *pCount = static_cast(handleList.size()); + return ZE_RESULT_SUCCESS; + } + uint32_t i = 0; + for (Ras *ras : handleList) { + if (i >= *pCount) { + break; + } + phRas[i++] = ras->toHandle(); + } + *pCount = i; return ZE_RESULT_SUCCESS; }