mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 00:56:45 +07:00
ALSA: hda - Continue probing even if i915 binding fails
Currently snd-hda-intel driver aborts the probing of Intel HD-audio controller with i915 power well management when binding with i915 driver via hda_i915_init() fails. This is no big problem for Haswell and Broadwell where the HD-audio controllers are dedicated to HDMI/DP, thus i915 link is mandatory. However, Skylake, Baytrail and Braswell have only one controller and both HDMI/DP and analog codecs share the same bus. Thus, even if HDMI/DP isn't usable, we should keep the controller working for other codecs. For fixing this, this patch simply allows continuing the probing even if hda_i915_init() call fails. This may leave stale sound components for HDMI/DP devices that are unbound with graphics. We could abort the probing selectively, but from the code simplicity POV, it's better to continue in all cases. Reported-by: Libin Yang <libin.yang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
98a226ed21
commit
bf06848bdb
@ -1855,7 +1855,7 @@ static int azx_probe_continue(struct azx *chip)
|
|||||||
#ifdef CONFIG_SND_HDA_I915
|
#ifdef CONFIG_SND_HDA_I915
|
||||||
err = hda_i915_init(hda);
|
err = hda_i915_init(hda);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto out_free;
|
goto skip_i915;
|
||||||
err = hda_display_power(hda, true);
|
err = hda_display_power(hda, true);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
dev_err(chip->card->dev,
|
dev_err(chip->card->dev,
|
||||||
@ -1865,6 +1865,7 @@ static int azx_probe_continue(struct azx *chip)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
skip_i915:
|
||||||
err = azx_first_init(chip);
|
err = azx_first_init(chip);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto out_free;
|
goto out_free;
|
||||||
|
Loading…
Reference in New Issue
Block a user