aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <[email protected]>2012-01-26 11:27:25 +0000
committerSumit Semwal <[email protected]>2012-03-19 10:12:15 +0000
commit2ed9201bdd9a8e462d768a838fb2bc944c6887a4 (patch)
treeb205a540211ba7461c82c641c0131e39b11818e3
parentdma-buf: Return error instead of using a goto statement when possible (diff)
downloadkernel-2ed9201bdd9a8e462d768a838fb2bc944c6887a4.tar.gz
kernel-2ed9201bdd9a8e462d768a838fb2bc944c6887a4.zip
dma-buf: Move code out of mutex-protected section in dma_buf_attach()
Some fields can be set without mutex protection. Initialize them before locking the mutex. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Sumit Semwal <[email protected]>
-rw-r--r--drivers/base/dma-buf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/base/dma-buf.c b/drivers/base/dma-buf.c
index 97450a52172c..8afe2dd17912 100644
--- a/drivers/base/dma-buf.c
+++ b/drivers/base/dma-buf.c
@@ -192,10 +192,11 @@ struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf,
if (attach == NULL)
return ERR_PTR(-ENOMEM);
- mutex_lock(&dmabuf->lock);
-
attach->dev = dev;
attach->dmabuf = dmabuf;
+
+ mutex_lock(&dmabuf->lock);
+
if (dmabuf->ops->attach) {
ret = dmabuf->ops->attach(dmabuf, dev, attach);
if (ret)