Skip to content
Snippets Groups Projects
Commit ab699ec6 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau: drop drm_global_mutex before sleeping in submission path


If we keep hold of the mutex here, the process which currently holds the
buffer object will never be able to release it, causing a deadlock.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent e3461a2b
No related branches found
No related tags found
No related merge requests found
...@@ -337,7 +337,9 @@ validate_init(struct nouveau_channel *chan, struct drm_file *file_priv, ...@@ -337,7 +337,9 @@ validate_init(struct nouveau_channel *chan, struct drm_file *file_priv,
return -EINVAL; return -EINVAL;
} }
mutex_unlock(&drm_global_mutex);
ret = ttm_bo_wait_cpu(&nvbo->bo, false); ret = ttm_bo_wait_cpu(&nvbo->bo, false);
mutex_lock(&drm_global_mutex);
if (ret) { if (ret) {
NV_ERROR(dev, "fail wait_cpu\n"); NV_ERROR(dev, "fail wait_cpu\n");
return ret; return ret;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment