media: staging: rkisp1: cap: fix return values from pm functions
authorHelen Koike <helen.koike@collabora.com>
Mon, 16 Mar 2020 21:00:43 +0000 (22:00 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 21 Apr 2020 15:01:30 +0000 (17:01 +0200)
If no errors occurs, pm functions return usage counters, so they can
return positive numbers.
This happens when streaming from multiple capture devices (mainpath and
selfpath).

Fix simultaneous streaming from mainpath and selfpath by not failing
when pm usage counters returns a positive number.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/rkisp1/rkisp1-capture.c

index 7e3d498..b371bbd 100644 (file)
@@ -892,7 +892,7 @@ static void rkisp1_vb2_stop_streaming(struct vb2_queue *queue)
 
        v4l2_pipeline_pm_put(&node->vdev.entity);
        ret = pm_runtime_put(rkisp1->dev);
-       if (ret)
+       if (ret < 0)
                dev_err(rkisp1->dev, "power down failed error:%d\n", ret);
 
        rkisp1_dummy_buf_destroy(cap);
@@ -945,7 +945,7 @@ rkisp1_vb2_start_streaming(struct vb2_queue *queue, unsigned int count)
                goto err_ret_buffers;
 
        ret = pm_runtime_get_sync(cap->rkisp1->dev);
-       if (ret) {
+       if (ret < 0) {
                dev_err(cap->rkisp1->dev, "power up failed %d\n", ret);
                goto err_destroy_dummy;
        }