summaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2017-06-07 20:34:12 +0200
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-06-20 13:12:20 +0200
commitde2e04569d341988465dbd4651193942e8c6db6b (patch)
treeae245d55b2c50e2b7be6a2d45fb8df7677999e22 /drivers/staging
parent[media] media: imx: set and propagate default field, colorimetry (diff)
downloadlinux-de2e04569d341988465dbd4651193942e8c6db6b.tar.xz
linux-de2e04569d341988465dbd4651193942e8c6db6b.zip
[media] media: imx: Drop warning upon multiple S_STREAM disable calls
Calling S_STREAM OFF multiple times on a video device is valid, although dubious, practice. Instead of warning about it and setting stream count lower than zero, just ignore the subsequent S_STREAM calls and correct the stream count to zero. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/media/imx/imx-ic-prp.c3
-rw-r--r--drivers/staging/media/imx/imx-ic-prpencvf.c3
-rw-r--r--drivers/staging/media/imx/imx-media-csi.c3
-rw-r--r--drivers/staging/media/imx/imx-media-vdic.c3
-rw-r--r--drivers/staging/media/imx/imx6-mipi-csi2.c3
5 files changed, 10 insertions, 5 deletions
diff --git a/drivers/staging/media/imx/imx-ic-prp.c b/drivers/staging/media/imx/imx-ic-prp.c
index 783a5158a5f6..c2bb5ef2acb4 100644
--- a/drivers/staging/media/imx/imx-ic-prp.c
+++ b/drivers/staging/media/imx/imx-ic-prp.c
@@ -391,7 +391,8 @@ static int prp_s_stream(struct v4l2_subdev *sd, int enable)
update_count:
priv->stream_count += enable ? 1 : -1;
- WARN_ON(priv->stream_count < 0);
+ if (priv->stream_count < 0)
+ priv->stream_count = 0;
out:
mutex_unlock(&priv->lock);
return ret;
diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c b/drivers/staging/media/imx/imx-ic-prpencvf.c
index 5e9c817881dd..ed363fe3b3d0 100644
--- a/drivers/staging/media/imx/imx-ic-prpencvf.c
+++ b/drivers/staging/media/imx/imx-ic-prpencvf.c
@@ -1140,7 +1140,8 @@ static int prp_s_stream(struct v4l2_subdev *sd, int enable)
update_count:
priv->stream_count += enable ? 1 : -1;
- WARN_ON(priv->stream_count < 0);
+ if (priv->stream_count < 0)
+ priv->stream_count = 0;
out:
mutex_unlock(&priv->lock);
return ret;
diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index 6eaf64419a78..a2d26693912e 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -864,7 +864,8 @@ static int csi_s_stream(struct v4l2_subdev *sd, int enable)
update_count:
priv->stream_count += enable ? 1 : -1;
- WARN_ON(priv->stream_count < 0);
+ if (priv->stream_count < 0)
+ priv->stream_count = 0;
out:
mutex_unlock(&priv->lock);
return ret;
diff --git a/drivers/staging/media/imx/imx-media-vdic.c b/drivers/staging/media/imx/imx-media-vdic.c
index c0b6d7f3e4c9..7eabdc4aa79f 100644
--- a/drivers/staging/media/imx/imx-media-vdic.c
+++ b/drivers/staging/media/imx/imx-media-vdic.c
@@ -536,7 +536,8 @@ static int vdic_s_stream(struct v4l2_subdev *sd, int enable)
update_count:
priv->stream_count += enable ? 1 : -1;
- WARN_ON(priv->stream_count < 0);
+ if (priv->stream_count < 0)
+ priv->stream_count = 0;
out:
mutex_unlock(&priv->lock);
return ret;
diff --git a/drivers/staging/media/imx/imx6-mipi-csi2.c b/drivers/staging/media/imx/imx6-mipi-csi2.c
index cae1cb278040..5061f3f524fd 100644
--- a/drivers/staging/media/imx/imx6-mipi-csi2.c
+++ b/drivers/staging/media/imx/imx6-mipi-csi2.c
@@ -397,7 +397,8 @@ static int csi2_s_stream(struct v4l2_subdev *sd, int enable)
update_count:
csi2->stream_count += enable ? 1 : -1;
- WARN_ON(csi2->stream_count < 0);
+ if (csi2->stream_count < 0)
+ csi2->stream_count = 0;
out:
mutex_unlock(&csi2->lock);
return ret;