if (!codec->hw_write)
                        return -EUNATCH;
        
 -------        if (ucontrol->value.enumerated.item[0] >= control->max)
 +++++++        if (ucontrol->value.enumerated.item[0] >= control->items)
                        return -EINVAL;
        
- ------        mutex_lock(&codec->mutex);
+ ++++++        snd_soc_dapm_mutex_lock(dapm);
        
                /* Translate selection to bitmap */
                pins = ams_delta_audio_mode_pins[ucontrol->value.enumerated.item[0]];