]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sound: don't call skl_init_chip() to reset intel skl soc
authorYu Zhao <yuzhao@google.com>
Tue, 11 Sep 2018 21:15:16 +0000 (15:15 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Oct 2018 07:16:22 +0000 (09:16 +0200)
commit37ca1cc8d4c021c8fe79e070ca7bc2fd26ed1530
treea1aa56870aef9455eebff8cd4bda1d8dfdf7d854
parent2af2b70c107b8a2e75e3c3351f3777e8cf26229c
sound: don't call skl_init_chip() to reset intel skl soc

[ Upstream commit 75383f8d39d4c0fb96083dd460b7b139fbdac492 ]

Internally, skl_init_chip() calls snd_hdac_bus_init_chip() which
1) sets bus->chip_init to prevent multiple entrances before device
is stopped; 2) enables interrupt.

We shouldn't use it for the purpose of resetting device only because
1) when we really want to initialize device, we won't be able to do
so; 2) we are ready to handle interrupt yet, and kernel crashes when
interrupt comes in.

Rename azx_reset() to snd_hdac_bus_reset_link(), and use it to reset
device properly.

Fixes: 60767abcea3d ("ASoC: Intel: Skylake: Reset the controller in probe")
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Yu Zhao <yuzhao@google.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/sound/hdaudio.h
sound/hda/hdac_controller.c
sound/soc/intel/skylake/skl.c