summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/hda/hdac_regmap.c3
-rw-r--r--sound/pci/hda/hda_intel.c3
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;