提交 eb01b1bc 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

[media] soc_camera: fix expbuf support

- For vb1 drivers just return -ENOTTY.
- For vb2 drivers allow vb2_expbuf without there being a stream owner:
  the vb2_expbuf function will return the correct error message in that case.
Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
Acked-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 d53c0f72
......@@ -470,14 +470,13 @@ static int soc_camera_expbuf(struct file *file, void *priv,
struct soc_camera_device *icd = file->private_data;
struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
if (icd->streamer != file)
return -EBUSY;
/* videobuf2 only */
if (ici->ops->init_videobuf)
return -EINVAL;
else
return vb2_expbuf(&icd->vb2_vidq, p);
return -ENOTTY;
if (icd->streamer && icd->streamer != file)
return -EBUSY;
return vb2_expbuf(&icd->vb2_vidq, p);
}
/* Always entered with .host_lock held */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册