diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c index 2f6dd4c73..d19a7a45e 100644 --- a/drivers/gpu/nvgpu/common/linux/module.c +++ b/drivers/gpu/nvgpu/common/linux/module.c @@ -81,8 +81,11 @@ int gk20a_busy(struct gk20a *g) dev = dev_from_gk20a(g); if (pm_runtime_enabled(dev)) { + /* Increment usage count and attempt to resume device */ ret = pm_runtime_get_sync(dev); if (ret < 0) { + /* Mark suspended so runtime pm will retry later */ + pm_runtime_set_suspended(dev); pm_runtime_put_noidle(dev); atomic_dec(&g->usage_count); goto fail;