diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-06-13 13:14:34 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-06-16 08:34:06 (GMT) |
commit | 74b0c2d75fb4cc89173944e6d8f9eb47aca0c343 (patch) | |
tree | fa5d2e9b60d699e7d22e9f1b128f0299452e20a4 /sound/pci/hda/hda_intel.c | |
parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) | |
download | linux-74b0c2d75fb4cc89173944e6d8f9eb47aca0c343.tar.xz |
drm/i915, HD-audio: Don't continue probing when nomodeset is given
When a machine is booted with nomodeset option, i915 driver skips the
whole initialization. Meanwhile, HD-audio tries to bind wth i915 just
by request_symbol() without knowing that the initialization was
skipped, and eventually it hits WARN_ON() in i915_request_power_well()
and i915_release_power_well() wrongly but still continues probing,
even though it doesn't work at all.
In this patch, both functions are changed to return an error in case
of uninitialized state instead of WARN_ON(), so that HD-audio driver
can give up HDMI controller initialization at the right time.
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: <stable@vger.kernel.org> [3.15]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index bb65a124..23fd6b9 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1656,8 +1656,13 @@ static int azx_probe_continue(struct azx *chip) "Error request power-well from i915\n"); goto out_free; } + err = hda_display_power(true); + if (err < 0) { + dev_err(chip->card->dev, + "Cannot turn on display power on i915\n"); + goto out_free; + } #endif - hda_display_power(true); } err = azx_first_init(chip); |