ALSA: hda/intel: Properly free the display power at error path
authorTakashi Iwai <tiwai@suse.de>
Sun, 9 Dec 2018 08:59:03 +0000 (09:59 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 11 Dec 2018 07:15:45 +0000 (08:15 +0100)
When an error occurs in azx_probe_continue(), we should release the
display power.  However, the current code ignores it and releases the
display power only for HSW/BDW cases.  Fix it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c

index 663e86effa1f752271f03d6f1207ae772c7c6646..5399d0180434f220cfce127fd59e76eedf851600 100644 (file)
@@ -2269,7 +2269,7 @@ static int azx_probe_continue(struct azx *chip)
                pm_runtime_put_autosuspend(&pci->dev);
 
 out_free:
-       if (!hda->need_i915_power)
+       if (err < 0 || !hda->need_i915_power)
                display_power(chip, false);
 
 i915_power_fail: