unsigned int *old_tlv, size_t old_tlv_size)
{
unsigned int tlv[4];
- if (sizeof(tlv) <= old_tlv_size && memcmp(tlv, old_tlv, sizeof(tlv)) == 0)
- return 0;
tlv[SNDRV_CTL_TLVO_TYPE] = SND_CTL_TLVT_DB_SCALE;
tlv[SNDRV_CTL_TLVO_LEN] = 2 * sizeof(int);
tlv[SNDRV_CTL_TLVO_DB_SCALE_MIN] = (int)(svol->min_dB * 100);
tlv[SNDRV_CTL_TLVO_DB_SCALE_MUTE_AND_STEP] =
(int)((svol->max_dB - svol->min_dB) * 100 / svol->max_val);
+ if (sizeof(tlv) <= old_tlv_size && memcmp(tlv, old_tlv, sizeof(tlv)) == 0)
+ return 0;
return snd_ctl_elem_tlv_write(svol->ctl, &cinfo->id, tlv);
}