Hello! On 12/24/22 2:31 AM, Wesley Cheng wrote: > Check for if the PCM format is supported during the hw_params callback. If > the profile is not supported then the userspace ALSA entity will receive an > error, and can take further action. > > Signed-off-by: Wesley Cheng <quic_wcheng@xxxxxxxxxxx> > --- > sound/soc/qcom/qdsp6/q6usb.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/qcom/qdsp6/q6usb.c b/sound/soc/qcom/qdsp6/q6usb.c > index a9da6dec6c6f..128e0974db4e 100644 > --- a/sound/soc/qcom/qdsp6/q6usb.c > +++ b/sound/soc/qcom/qdsp6/q6usb.c > @@ -42,7 +42,14 @@ static int q6usb_hw_params(struct snd_pcm_substream *substream, > struct snd_pcm_hw_params *params, > struct snd_soc_dai *dai) > { > - return 0; > + struct q6usb_port_data *data = dev_get_drvdata(dai->dev); > + int direction = substream->stream; > + int ret; You don't seem to need this variable, just use *return* snd_soc_usb_find_format(...). > + > + ret = snd_soc_usb_find_format(data->active_idx, params, direction); > + > + return ret; > + > } > static const struct snd_soc_dai_ops q6usb_ops = { > .hw_params = q6usb_hw_params, MBR, Sergey