diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2017-12-23 08:54:28 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2017-12-23 08:56:59 +1000 |
commit | b26a2319be3dd26edb3013504992a037a5902520 (patch) | |
tree | 06a2459912091f94952ccc308a89143a32d42d0f | |
parent | 4ef928929987c19fff4d3c1650f139560ba1cc13 (diff) | |
download | linux-b26a2319be3dd26edb3013504992a037a5902520.tar.bz2 |
drm/nouveau: fix race when adding delayed work items
kernel.org bz#198221.
Reported-by: Petr Vandrovec <petr@vandrovec.name>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 8d4a5be3b913..56fe261b6268 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -152,9 +152,9 @@ nouveau_cli_work_queue(struct nouveau_cli *cli, struct dma_fence *fence, work->cli = cli; mutex_lock(&cli->lock); list_add_tail(&work->head, &cli->worker); - mutex_unlock(&cli->lock); if (dma_fence_add_callback(fence, &work->cb, nouveau_cli_work_fence)) nouveau_cli_work_fence(fence, &work->cb); + mutex_unlock(&cli->lock); } static void |