diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/hda/hdac_regmap.c | 3 | ||||
-rw-r--r-- | sound/pci/hda/hda_intel.c | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/sound/hda/hdac_regmap.c b/sound/hda/hdac_regmap.c index 7371e0c3926f..c4f5e61d4404 100644 --- a/sound/hda/hdac_regmap.c +++ b/sound/hda/hdac_regmap.c @@ -265,6 +265,9 @@ static int hda_reg_write(void *context, unsigned int reg, unsigned int val) unsigned int verb; int i, bytes, err; + if (codec->caps_overwriting) + return 0; + reg &= ~0x00080000U; /* drop GET bit */ reg |= (codec->addr << 28); verb = get_verb(reg); diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 7933fb00da4f..3738363e8ee1 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1987,7 +1987,7 @@ static int azx_probe_continue(struct azx *chip) err = snd_hdac_i915_init(bus); if (err < 0) - goto i915_power_fail; + goto skip_i915; err = snd_hdac_display_power(bus, true); if (err < 0) { @@ -1997,6 +1997,7 @@ static int azx_probe_continue(struct azx *chip) } } + skip_i915: err = azx_first_init(chip); if (err < 0) goto out_free; |