[alsa-devel] [PATCH] amixer: actually print all TLVs in a container TLV
Takashi Iwai
tiwai at suse.de
Tue Oct 1 12:24:23 CEST 2013
At Mon, 30 Sep 2013 23:46:50 +0300,
Anssi Hannula wrote:
>
> Due to a wrong indexing of tlv[] decode_tlv() always skips to the end of
> the container TLV since the used tlv[1] contains the container TLV size
> instead of the intended element size.
>
> This causes, for example, only the first HDMI channel map TLV to be
> shown.
>
> Fix the indexing to actually use the element size.
>
> Signed-off-by: Anssi Hannula <anssi.hannula at iki.fi>
Thanks, applied.
Takashi
> ---
> amixer/amixer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/amixer/amixer.c b/amixer/amixer.c
> index 7727943..b83b0c3 100644
> --- a/amixer/amixer.c
> +++ b/amixer/amixer.c
> @@ -468,7 +468,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
> return;
> }
> decode_tlv(spaces + 2, tlv + idx, tlv[idx+1] + 8);
> - idx += 2 + (tlv[1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
> + idx += 2 + (tlv[idx+1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
> }
> break;
> case SND_CTL_TLVT_DB_SCALE:
> --
> 1.8.1.5
>
More information about the Alsa-devel
mailing list