diff options
Diffstat (limited to 'drivers/base/dmabuf-sync.c')
-rw-r--r-- | drivers/base/dmabuf-sync.c | 9 |
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; } |