[alsa-devel] [bug report] ASoC: hdac_hdmi: Begin to add support for DP Multi-stream audio
Jeeja KP
jeeja.kp at intel.com
Tue Feb 14 14:32:05 CET 2017
On Sat, Feb 11, 2017 at 08:11:23AM +0300, Dan Carpenter wrote:
> Hello Jeeja KP,
>
> The patch 754695f9960b: "ASoC: hdac_hdmi: Begin to add support for DP
> Multi-stream audio" from Feb 6, 2017, leads to the following static
> checker warning:
>
> sound/soc/codecs/hdac_hdmi.c:742 hdac_hdmi_set_pin_port_mux()
> error: we previously assumed 'pcm->port' could be null (see line 741)
>
> sound/soc/codecs/hdac_hdmi.c
> 719 static int hdac_hdmi_set_pin_port_mux(struct snd_kcontrol *kcontrol,
> 720 struct snd_ctl_elem_value *ucontrol)
> 721 {
> 722 int ret;
> 723 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
> 724 struct snd_soc_dapm_widget *w = snd_soc_dapm_kcontrol_widget(kcontrol);
> 725 struct snd_soc_dapm_context *dapm = w->dapm;
> 726 struct hdac_hdmi_port *port = w->priv;
> 727 struct hdac_ext_device *edev = to_hda_ext_device(dapm->dev);
> 728 struct hdac_hdmi_priv *hdmi = edev->private_data;
> 729 struct hdac_hdmi_pcm *pcm = NULL;
> 730 const char *cvt_name = e->texts[ucontrol->value.enumerated.item[0]];
> 731
> 732 ret = snd_soc_dapm_put_enum_double(kcontrol, ucontrol);
> 733 if (ret < 0)
> 734 return ret;
> 735
> 736 if (port == NULL)
> 737 return -EINVAL;
> 738
> 739 mutex_lock(&hdmi->pin_mutex);
> 740 list_for_each_entry(pcm, &hdmi->pcm_list, head) {
> 741 if (!pcm->port && pcm->port == port &&
> ^^^^^^^^^
> test
>
> 742 pcm->port->id == port->id)
> ^^^^^^^^^^^^^
> dereference
>
> 743 pcm->port = NULL;
> ^^^^^^^^^^^^^^^^
> Perhaps the NULL test is reversed?
>
> 744
> 745 /*
> 746 * Jack status is not reported during device probe as the
> 747 * PCMs are not registered by then. So report it here.
> 748 */
>
>
Thanks for Reporting.
This issue is fixed with DP MST patchs that are posted later and which is in
review list.
Regards,
Jeeja
More information about the Alsa-devel
mailing list