• Anssi Hannula's avatar
    ALSA: hda - Reset sample sizes and max bitrates when reading ELD · 0bbaee3a
    Anssi Hannula authored
    When a new HDMI/DP device is plugged in, hdmi_update_short_audio_desc()
    is called for every SAD (Short Audio Descriptor) in the ELD data. For
    LPCM coding type SAD defines the supported sample sizes. For several
    other coding types (such as AC-3), a maximum bitrate is defined.
    
    The maximum bitrate and sample size fields are not always cleared.
    Therefore, if a device is unplugged and a different one is plugged in,
    and the coding types of some SAD positions differ between the devices,
    the old max_bitrate or sample_bits values will persist if the new SADs
    do not define those values.
    
    The leftover max_bitrate and sample_bits do not cause any issues other
    than wrongly showing up in eld#X.Y procfs file and kernel log.
    
    Fix that by always clearing sample_bits and max_bitrate when reading
    SADs.
    Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    0bbaee3a
hda_eld.c 16.4 KB