diff --git a/asoc/codecs/lpass-cdc/lpass-cdc-wsa-macro.c b/asoc/codecs/lpass-cdc/lpass-cdc-wsa-macro.c index 157317cb54..e6127aee37 100644 --- a/asoc/codecs/lpass-cdc/lpass-cdc-wsa-macro.c +++ b/asoc/codecs/lpass-cdc/lpass-cdc-wsa-macro.c @@ -1327,6 +1327,12 @@ static int lpass_cdc_wsa_macro_config_compander(struct snd_soc_component *compon if (!lpass_cdc_wsa_macro_get_data(component, &wsa_dev, &wsa_priv, __func__)) return -EINVAL; + if (comp >= LPASS_CDC_WSA_MACRO_COMP_MAX) { + dev_err(component->dev, "%s: Invalid compander value: %d\n", + __func__, comp); + return -EINVAL; + } + dev_dbg(component->dev, "%s: event %d compander %d, enabled %d\n", __func__, event, comp + 1, wsa_priv->comp_enabled[comp]);