diff options
| -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, |
