• Yu Zhao's avatar
    sound: don't call skl_init_chip() to reset intel skl soc · 75383f8d
    Yu Zhao authored
    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: 60767abc ("ASoC: Intel: Skylake: Reset the controller in probe")
    Reviewed-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarYu Zhao <yuzhao@google.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    75383f8d
skl.c 24.2 KB