ASoC: tlv320aic32x4: Kernel OOPS while entering DAPM standby mode
authorb-ak <anur.bhargav@gmail.com>
Mon, 7 Jan 2019 17:00:22 +0000 (22:30 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 31 Jan 2019 07:14:34 +0000 (08:14 +0100)
commit0af64fda917df00a8d199f7635e20a06acd2a3b7
treeee6d29a3e387aa06615dee46c1ed35fa29a687f3
parent4fedd516d5548aa3841b66b61d75ea4c40e7e08e
ASoC: tlv320aic32x4: Kernel OOPS while entering DAPM standby mode

commit 667e9334fa64da2273e36ce131b05ac9e47c5769 upstream.

During the bootup of the kernel, the DAPM bias level is in the OFF
state. As soon as the DAPM framework kicks in it pushes the codec
into STANDBY state.

The probe function doesn't prepare the clock, and STANDBY state
does a clk_disable_unprepare() without checking the previous state.
This leads to an OOPS.

Not transitioning from an OFF state to the STANDBY state fixes the
problem.

Signed-off-by: b-ak <anur.bhargav@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/codecs/tlv320aic32x4.c