iio: adc: ad7192: Avoid disabling a clock that was never enabled.
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 13 May 2021 12:07:43 +0000 (15:07 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 13 May 2021 15:34:21 +0000 (16:34 +0100)
commite32fe6d90f44922ccbb94016cfc3c238359e3e39
treefabd7cc9f4c14a5d99e5333d99cb115a36784710
parentf2a772c51206b0c3f262e4f6a3812c89a650191b
iio: adc: ad7192: Avoid disabling a clock that was never enabled.

Found by inspection.

If the internal clock source is being used, the driver doesn't
call clk_prepare_enable() and as such we should not call
clk_disable_unprepare()

Use the same condition to protect the disable path as is used
on the enable one.  Note this will all get simplified when
the driver moves over to a full devm_ flow, but that would make
backporting the fix harder.

Fix obviously predates move out of staging, but backporting will
become more complex (and is unlikely to happen), hence that patch
is given in the fixes tag.

Alexandru's sign off is here because he added this patch into
a larger series that Jonathan then applied.

Fixes: b581f748cce0 ("staging: iio: adc: ad7192: move out of staging")
Cc: Alexandru Tachici <alexandru.tachici@analog.com>
Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Alexandru Ardelean <aardelean@deviqon.com>
Cc: <Stable@vger.kernel.org>
drivers/iio/adc/ad7192.c