diff --git a/shared/source/os_interface/linux/drm_neo.cpp b/shared/source/os_interface/linux/drm_neo.cpp index e0c2594d4f..36ceca0c19 100644 --- a/shared/source/os_interface/linux/drm_neo.cpp +++ b/shared/source/os_interface/linux/drm_neo.cpp @@ -251,7 +251,7 @@ int Drm::queryGttSize(uint64_t >tSizeOutput) { bool Drm::isGpuHangDetected(OsContext &osContext) { bool ret = checkResetStatus(osContext); if (gpuFaultCheckThreshold != 0) { - if (gpuFaultCheckCounter == gpuFaultCheckThreshold) { + if (gpuFaultCheckCounter >= gpuFaultCheckThreshold) { auto memoryManager = static_cast(this->rootDeviceEnvironment.executionEnvironment.memoryManager.get()); memoryManager->checkUnexpectedGpuPageFault(); gpuFaultCheckCounter = 0; diff --git a/shared/source/os_interface/linux/drm_neo.h b/shared/source/os_interface/linux/drm_neo.h index dc83089928..cbe3882054 100644 --- a/shared/source/os_interface/linux/drm_neo.h +++ b/shared/source/os_interface/linux/drm_neo.h @@ -19,6 +19,7 @@ #include "igfxfmid.h" #include +#include #include #include #include @@ -346,7 +347,7 @@ class Drm : public DriverModel { bool disableScratch = false; uint32_t gpuFaultCheckThreshold = 0u; - uint32_t gpuFaultCheckCounter = 0u; + std::atomic gpuFaultCheckCounter{0u}; private: int getParamIoctl(DrmParam param, int *dstValue);