On 1/11/22 1:05 PM, Amadeusz Sławiński wrote: > There is no reason to force readwrite access on TLV controls. It can be > either read, write or both. This is further evidenced in code where it > performs following checks: > if ((k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READ) && !sbe->get) > return -EINVAL; > if ((k->access & SNDRV_CTL_ELEM_ACCESS_TLV_WRITE) && !sbe->put) > return -EINVAL; > > Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@xxxxxxxxxxxxxxx> > Reviewed-by: Cezary Rojewski <cezary.rojewski@xxxxxxxxx> Should there be a Fixes tag Fixes: 1a3232d2f61d ("ASoC: topology: Add support for TLV bytes controls") ? > --- > sound/soc/soc-topology.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c > index e0f72ddd72c1..9d24184f85f9 100644 > --- a/sound/soc/soc-topology.c > +++ b/sound/soc/soc-topology.c > @@ -512,7 +512,8 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr, > > if (le32_to_cpu(hdr->ops.info) == SND_SOC_TPLG_CTL_BYTES > && k->iface & SNDRV_CTL_ELEM_IFACE_MIXER > - && k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE > + && (k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READ > + || k->access & SNDRV_CTL_ELEM_ACCESS_TLV_WRITE) > && k->access & SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK) { > struct soc_bytes_ext *sbe; > struct snd_soc_tplg_bytes_control *be; >