media: smiapp: Put the device again if starting streaming fails
authorSakari Ailus <sakari.ailus@linux.intel.com>
Fri, 11 Oct 2019 09:45:22 +0000 (11:45 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 3 Jan 2020 15:38:06 +0000 (16:38 +0100)
If there was an error in starting streaming, put the runtime usage count
of the device.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/smiapp/smiapp-core.c

index 0dca8db21f65fd7b106b29939bef655e6f69fd1a..a80d7701b519d602df57ae3edb3142e7e4318f49 100644 (file)
@@ -1565,8 +1565,11 @@ static int smiapp_set_stream(struct v4l2_subdev *subdev, int enable)
        sensor->streaming = true;
 
        rval = smiapp_start_streaming(sensor);
-       if (rval < 0)
+       if (rval < 0) {
                sensor->streaming = false;
+               pm_runtime_mark_last_busy(&client->dev);
+               pm_runtime_put_autosuspend(&client->dev);
+       }
 
        return rval;
 }