[media] media: imx: Drop warning upon multiple S_STREAM disable calls
authorMarek Vasut <marex@denx.de>
Wed, 7 Jun 2017 18:34:12 +0000 (15:34 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 20 Jun 2017 11:12:20 +0000 (08:12 -0300)
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>
drivers/staging/media/imx/imx-ic-prp.c
drivers/staging/media/imx/imx-ic-prpencvf.c
drivers/staging/media/imx/imx-media-csi.c
drivers/staging/media/imx/imx-media-vdic.c
drivers/staging/media/imx/imx6-mipi-csi2.c

index 783a5158a5f6fff90042765815eb2af15764946f..c2bb5ef2acb4dd1834e454ead27a2608f116a73e 100644 (file)
@@ -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;
index 5e9c817881dd7e00173843535a1bb638bfca8241..ed363fe3b3d05fc605c161a890e648245586a333 100644 (file)
@@ -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;
index 6eaf64419a7860c58324f4755251265ca3b37082..a2d26693912ecde6cc589c1f1edd4fa2626338ae 100644 (file)
@@ -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;
index c0b6d7f3e4c9117b6607dcc29b0eeaa41d3f8122..7eabdc4aa79f1bb6da2107afdced172096b2ce29 100644 (file)
@@ -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;
index cae1cb278040e7bb9ab98d2655c658030c3b5c5c..5061f3f524fd5cde2bab721114ae2d353e4e24e1 100644 (file)
@@ -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;