V4L/DVB (12178): vpif_display: Fix compile time warnings for mutex locking

mutex_lock_interruptible return value has to be handled properly to indicate
the status to the higher layers of the kernel.

Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
index 5e2b86b..969d4b3 100644
--- a/drivers/media/video/davinci/vpif_display.c
+++ b/drivers/media/video/davinci/vpif_display.c
@@ -636,7 +636,9 @@
 	struct channel_obj *ch = fh->channel;
 	struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
 
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
+
 	/* if this instance is doing IO */
 	if (fh->io_allowed[VPIF_VIDEO_INDEX]) {
 		/* Reset io_usrs member of channel object */
@@ -720,7 +722,9 @@
 		return -EINVAL;
 
 	/* Fill in the information about format */
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
+
 	if (vpif_get_std_info(ch)) {
 		vpif_err("Error getting the standard info\n");
 		return -EINVAL;
@@ -768,7 +772,9 @@
 	/* store the pix format in the channel object */
 	common->fmt.fmt.pix = *pixfmt;
 	/* store the format in the channel object */
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
+
 	common->fmt = *fmt;
 	mutex_unlock(&common->lock);
 
@@ -819,7 +825,9 @@
 	index = VPIF_VIDEO_INDEX;
 
 	common = &ch->common[index];
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
+
 	if (common->fmt.type != reqbuf->type) {
 		ret = -EINVAL;
 		goto reqbuf_exit;
@@ -979,7 +987,8 @@
 	}
 
 	/* Call encoder subdevice function to set the standard */
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
 
 	ch->video.stdid = *std_id;
 	/* Get the information about the standard */
@@ -1085,7 +1094,9 @@
 		return ret;
 	}
 
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
+
 	/* If buffer queue is empty, return error */
 	if (list_empty(&common->dma_queue)) {
 		vpif_err("buffer queue is empty\n");
@@ -1185,7 +1196,9 @@
 		return -EINVAL;
 	}
 
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
+
 	if (buftype == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
 		/* disable channel */
 		if (VPIF_CHANNEL2_VIDEO == ch->channel_id) {
@@ -1248,7 +1261,9 @@
 	struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
 	int ret = 0;
 
-	mutex_lock_interruptible(&common->lock);
+	if (mutex_lock_interruptible(&common->lock))
+		return -ERESTARTSYS;
+
 	if (common->started) {
 		vpif_err("Streaming in progress\n");
 		ret = -EBUSY;