|
@@ -1627,7 +1627,9 @@ static int __buf_prepare(struct vb2_buffer *vb, const struct v4l2_buffer *b)
|
|
ret = __qbuf_mmap(vb, b);
|
|
ret = __qbuf_mmap(vb, b);
|
|
break;
|
|
break;
|
|
case V4L2_MEMORY_USERPTR:
|
|
case V4L2_MEMORY_USERPTR:
|
|
|
|
+ down_read(¤t->mm->mmap_sem);
|
|
ret = __qbuf_userptr(vb, b);
|
|
ret = __qbuf_userptr(vb, b);
|
|
|
|
+ up_read(¤t->mm->mmap_sem);
|
|
break;
|
|
break;
|
|
case V4L2_MEMORY_DMABUF:
|
|
case V4L2_MEMORY_DMABUF:
|
|
ret = __qbuf_dmabuf(vb, b);
|
|
ret = __qbuf_dmabuf(vb, b);
|