diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-06-07 06:15:16 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-06-08 05:24:19 -0400 |
commit | 12b78a7f671aa91fd41899615bf6d171c925c3d7 (patch) | |
tree | 39c65e9d9f51e30ff1dcb465e601ddd34e709a43 | |
parent | c8e9cf7bb240049117d2fa64d1540476c289396d (diff) |
ALSA: hda - Fix uninitialized HDMI controllers with VGA-switcheroo
When VGA-switcheroo is built in but unused on systems with multiple
graphics cards, the initializations of non-default graphics cards are
skipped and never enabled (because the switcheroo is activated only
when the controller supports). The current behavior is for avoiding
the system lockup by accessing the disabled GPU, but due to the recent
change in VGA-switcheroo, it determines the state simply by checking
with the default VGA device. This is the culprit.
Now with the new vga_switcheroo_get_client_state(), we can know the
initial state of the bound GPU, thus can determine the initial audio
client state more correctly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/hda_intel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 2b6392be451c..5f0375fefc89 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -2670,7 +2670,7 @@ static bool __devinit check_hdmi_disabled(struct pci_dev *pci) | |||
2670 | struct pci_dev *p = get_bound_vga(pci); | 2670 | struct pci_dev *p = get_bound_vga(pci); |
2671 | 2671 | ||
2672 | if (p) { | 2672 | if (p) { |
2673 | if (vga_default_device() && p != vga_default_device()) | 2673 | if (vga_switcheroo_get_client_state(p) == VGA_SWITCHEROO_OFF) |
2674 | vga_inactive = true; | 2674 | vga_inactive = true; |
2675 | pci_dev_put(p); | 2675 | pci_dev_put(p); |
2676 | } | 2676 | } |