Commit 220955ec authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

media: renesas-ceu: Properly check for PM errors



Right now, the driver just assumes that PM runtime resume
worked, but it may fail.

Well, the pm_runtime_get_sync() internally increments the
dev->power.usage_count without decrementing it, even on errors.

So, using it is tricky. Let's replace it by the new
pm_runtime_resume_and_get(), introduced by:
commit dd8088d5 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter")
and return an error if something bad happens.

This should ensure that the PM runtime usage_count will be
properly decremented if an error happens at open time.

Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: default avatarJacopo Mondi <jacopo@jmondi.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 45e75a8c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1099,10 +1099,10 @@ static int ceu_open(struct file *file)

	mutex_lock(&ceudev->mlock);
	/* Causes soft-reset and sensor power on on first open */
	pm_runtime_get_sync(ceudev->dev);
	ret = pm_runtime_resume_and_get(ceudev->dev);
	mutex_unlock(&ceudev->mlock);

	return 0;
	return ret;
}

static int ceu_release(struct file *file)