On Mon, Apr 20, 2026 at 04:53:44PM +0800, Shengjiu Wang wrote:

> +static int micfil_put_dc_out_remover_state(struct snd_kcontrol *kcontrol,
> +                                        struct snd_ctl_elem_value *ucontrol)
> +{

> +     if (val < 0 || val > 3)
> +             return -EINVAL;
> +
> +     ret = pm_runtime_resume_and_get(comp->dev);
> +     if (ret)
> +             return ret;
> +
> +     micfil->dc_out_remover = val;

...

> +     /* Update DC Remover mode for all channels */
> +     ret = snd_soc_component_update_bits(comp, REG_MICFIL_DC_OUT_CTRL,
> +                                         MICFIL_DC_CTRL_CONFIG, reg_val);
> +
> +     pm_runtime_put_autosuspend(comp->dev);
> +
> +     return ret;

This will return 0 not 1 when the value changes, meaning event
generation is missed.  The mixer-test selftest should report this.

Attachment: signature.asc
Description: PGP signature

Reply via email to