diff --git a/drivers/gpu/nvgpu/libnvgpu-drv_safe.export b/drivers/gpu/nvgpu/libnvgpu-drv_safe.export index 46e7380bb..e719e4463 100644 --- a/drivers/gpu/nvgpu/libnvgpu-drv_safe.export +++ b/drivers/gpu/nvgpu/libnvgpu-drv_safe.export @@ -234,6 +234,7 @@ nvgpu_cg_slcg_ce2_load_enable nvgpu_cg_init_gr_load_gating_prod nvgpu_cg_elcg_enable_no_wait nvgpu_cg_elcg_disable_no_wait +nvgpu_cond_get_fault_injection nvgpu_current_pid nvgpu_current_tid nvgpu_engine_cleanup_sw diff --git a/drivers/gpu/nvgpu/os/posix/cond.c b/drivers/gpu/nvgpu/os/posix/cond.c index 3662e019b..cf453cc95 100644 --- a/drivers/gpu/nvgpu/os/posix/cond.c +++ b/drivers/gpu/nvgpu/os/posix/cond.c @@ -160,6 +160,13 @@ int nvgpu_cond_timedwait(struct nvgpu_cond *c, unsigned int *ms) s64 t_start_ns, t_ns; struct timespec ts; +#ifdef NVGPU_UNITTEST_FAULT_INJECTION_ENABLEMENT + if (nvgpu_posix_fault_injection_handle_call( + nvgpu_cond_get_fault_injection())) { + return -ETIMEDOUT; + } +#endif + if (*ms == NVGPU_COND_WAIT_TIMEOUT_MAX_MS) { return pthread_cond_wait(&c->cond, &c->mutex.lock.mutex); }