summaryrefslogtreecommitdiff
path: root/drivers/base/dmabuf-sync.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/dmabuf-sync.c')
-rw-r--r--drivers/base/dmabuf-sync.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/base/dmabuf-sync.c b/drivers/base/dmabuf-sync.c
index fdf3bce61a0..14c0c6f6d42 100644
--- a/drivers/base/dmabuf-sync.c
+++ b/drivers/base/dmabuf-sync.c
@@ -394,16 +394,19 @@ static int dmabuf_sync_get_obj(struct dmabuf_sync *sync, struct dma_buf *dmabuf,
return -ENOMEM;
}
- get_dma_buf(dmabuf);
-
sobj->dmabuf = dmabuf;
sobj->robj = dmabuf->sync;
- sobj->access_type = type;
mutex_lock(&sync->lock);
list_add_tail(&sobj->head, &sync->syncs);
mutex_unlock(&sync->lock);
+ get_dma_buf(dmabuf);
+
+ mutex_lock(&sobj->robj->lock);
+ sobj->access_type = type;
+ mutex_unlock(&sobj->robj->lock);
+
return 0;
}