diff options
Diffstat (limited to 'sound/pci/hda/patch_intelhdmi.c')
-rw-r--r-- | sound/pci/hda/patch_intelhdmi.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_intelhdmi.c b/sound/pci/hda/patch_intelhdmi.c index 3564f4e4b74c..a8643509e2af 100644 --- a/sound/pci/hda/patch_intelhdmi.c +++ b/sound/pci/hda/patch_intelhdmi.c | |||
@@ -419,14 +419,18 @@ static int hdmi_setup_channel_allocation(struct hda_codec *codec, | |||
419 | /* | 419 | /* |
420 | * CA defaults to 0 for basic stereo audio | 420 | * CA defaults to 0 for basic stereo audio |
421 | */ | 421 | */ |
422 | if (!eld->eld_ver) | ||
423 | return 0; | ||
424 | if (!eld->spk_alloc) | ||
425 | return 0; | ||
426 | if (channels <= 2) | 422 | if (channels <= 2) |
427 | return 0; | 423 | return 0; |
428 | 424 | ||
429 | /* | 425 | /* |
426 | * HDMI sink's ELD info cannot always be retrieved for now, e.g. | ||
427 | * in console or for audio devices. Assume the highest speakers | ||
428 | * configuration, to _not_ prohibit multi-channel audio playback. | ||
429 | */ | ||
430 | if (!eld->spk_alloc) | ||
431 | eld->spk_alloc = 0xffff; | ||
432 | |||
433 | /* | ||
430 | * expand ELD's speaker allocation mask | 434 | * expand ELD's speaker allocation mask |
431 | * | 435 | * |
432 | * ELD tells the speaker mask in a compact(paired) form, | 436 | * ELD tells the speaker mask in a compact(paired) form, |