diff --git a/amixer/amixer.c b/amixer/amixer.c index 8b8000b..07e9819 100644 --- a/amixer/amixer.c +++ b/amixer/amixer.c @@ -587,10 +587,17 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_ #endif default: printf("unk-%u-", type); - while (size > 0) { + while (size > sizeof(unsigned int)) { printf("0x%08x,", tlv[idx++]); size -= sizeof(unsigned int); } + if (size > 0) { + unsigned char *b = (void *)&tlv[idx]; + while (size > 0) { + printf("E-0x%02x,", *b++); + size--; + } + } break; } if (lf)