media: atomisp: ov2680: Error handling fixes
authorHans de Goede <hdegoede@redhat.com>
Sun, 5 Feb 2023 15:05:39 +0000 (15:05 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sat, 15 Apr 2023 09:31:27 +0000 (10:31 +0100)
commit2cd6478cbe05b87b55611e3f511f73cef2ea42c2
tree54fc6adab82b169c01e568bf614191b9ec51461d
parent920cf0ba6350c3898ec9e0ac7c341b192d652633
media: atomisp: ov2680: Error handling fixes

Fix 3 error handling issues:

1. In ov2680_s_stream(), when pm_runtime_get_sync() fails it will still
   have incremented the pm-runtime reference count so we need to call
   pm_runtime_put()

2. In ov2680_s_stream() sensor->is_streaming should always be set to false
   when the sensor is powered-off even on i2c-communication errors.

3. In ov2680_probe(), call ov2680_remove() on ov2680_s_config() errors,
   so that pm_runtime_disable() is properly called to disable the
   runtime-pm which has been enabled before the ov2680_s_config() call.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/i2c/atomisp-ov2680.c