summaryrefslogtreecommitdiff
path: root/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
diff options
context:
space:
mode:
authorNicholas Mc Guire <hofrat@osadl.org>2018-07-21 13:31:24 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-07-24 14:00:54 +0200
commit5b70084f6cbcd53f615433f9d216e01bd71de0bb (patch)
tree1f4ea5f80f1bd0f44b5bda65e3d2984667d1e568 /drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
parent24b9bdff8d0848029dba1c80b196b43e80b39463 (diff)
staging: bcm2835-camera: handle wait_for_completion_timeout return properly
wait_for_completion_timeout returns unsigned long not int so a variable of proper type is introduced. Further the check for <= 0 is ambiguous and should be == 0 here indicating timeout. Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.") Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c')
-rw-r--r--drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
index ce26741ae9d9..3f61d04c47ab 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
@@ -580,6 +580,7 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
static void stop_streaming(struct vb2_queue *vq)
{
int ret;
+ unsigned long timeout;
struct bm2835_mmal_dev *dev = vb2_get_drv_priv(vq);
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, "%s: dev:%p\n",
@@ -605,10 +606,10 @@ static void stop_streaming(struct vb2_queue *vq)
sizeof(dev->capture.frame_count));
/* wait for last frame to complete */
- ret = wait_for_completion_timeout(&dev->capture.frame_cmplt, HZ);
- if (ret <= 0)
+ timeout = wait_for_completion_timeout(&dev->capture.frame_cmplt, HZ);
+ if (timeout == 0)
v4l2_err(&dev->v4l2_dev,
- "error %d waiting for frame completion\n", ret);
+ "timed out waiting for frame completion\n");
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
"disabling connection\n");