dma-buf: begin/end_cpu might lock the dma_resv lock
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 14 Dec 2020 17:16:22 +0000 (18:16 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 16 Dec 2020 10:28:34 +0000 (11:28 +0100)
At least amdgpu and i915 do, so lets just document this as the rule.

v2: Works better with less typos (intel-gfx-ci)

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Link: https://patchwork.freedesktop.org/patch/msgid/20201214171622.3868883-1-daniel.vetter@ffwll.ch
drivers/dma-buf/dma-buf.c

index e1fa6c6f02c41535fd469d7f4fcc31183a4f9546..a0a02ef888da1a11bb41e77a4ecb807239852277 100644 (file)
@@ -1118,6 +1118,8 @@ int dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
        if (WARN_ON(!dmabuf))
                return -EINVAL;
 
+       might_lock(&dmabuf->resv->lock.base);
+
        if (dmabuf->ops->begin_cpu_access)
                ret = dmabuf->ops->begin_cpu_access(dmabuf, direction);
 
@@ -1151,6 +1153,8 @@ int dma_buf_end_cpu_access(struct dma_buf *dmabuf,
 
        WARN_ON(!dmabuf);
 
+       might_lock(&dmabuf->resv->lock.base);
+
        if (dmabuf->ops->end_cpu_access)
                ret = dmabuf->ops->end_cpu_access(dmabuf, direction);