Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39c747df authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: audio: soc: add null checks for hdmi ops"

parents f71490ad 1bdf3dcb
Loading
Loading
Loading
Loading
+34 −9
Original line number Diff line number Diff line
@@ -37,7 +37,12 @@ static int msm_hdmi_edid_ctl_info(struct snd_kcontrol *kcontrol,
	int rc;

	codec_data = snd_soc_codec_get_drvdata(codec);
	rc = codec_data->hdmi_ops.get_audio_edid_blk(codec_data->hdmi_core_pdev,

	if (!codec_data->hdmi_ops.get_audio_edid_blk)
		return -EINVAL;

	rc = codec_data->hdmi_ops.get_audio_edid_blk(
			codec_data->hdmi_core_pdev,
			&edid_blk);
	if (!IS_ERR_VALUE(rc)) {
		uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES;
@@ -45,7 +50,7 @@ static int msm_hdmi_edid_ctl_info(struct snd_kcontrol *kcontrol,
			edid_blk.spk_alloc_data_blk_size;
	}

	return 0;
	return rc;
}

static int msm_hdmi_edid_get(struct snd_kcontrol *kcontrol,
@@ -56,11 +61,16 @@ static int msm_hdmi_edid_get(struct snd_kcontrol *kcontrol,
	int rc;

	codec_data = snd_soc_codec_get_drvdata(codec);

	if (!codec_data->hdmi_ops.get_audio_edid_blk)
		return -EINVAL;

	rc = codec_data->hdmi_ops.get_audio_edid_blk(
			codec_data->hdmi_core_pdev, &edid_blk);

	if (!IS_ERR_VALUE(rc)) {
		memcpy(ucontrol->value.bytes.data, edid_blk.audio_data_blk,
		memcpy(ucontrol->value.bytes.data,
				edid_blk.audio_data_blk,
				edid_blk.audio_data_blk_size);
		memcpy((ucontrol->value.bytes.data +
					edid_blk.audio_data_blk_size),
@@ -90,6 +100,11 @@ static int msm_hdmi_audio_codec_rx_dai_startup(
	struct msm_hdmi_audio_codec_rx_data *codec_data =
			dev_get_drvdata(dai->codec->dev);

	if (!codec_data->hdmi_ops.cable_status) {
		dev_err(dai->dev, "%s() cable_status is null\n", __func__);
		return -EINVAL;
	}

	msm_hdmi_audio_codec_return_value =
		codec_data->hdmi_ops.cable_status(
		codec_data->hdmi_core_pdev, 1);
@@ -123,6 +138,11 @@ static int msm_hdmi_audio_codec_rx_dai_hw_params(
	struct msm_hdmi_audio_codec_rx_data *codec_data =
			dev_get_drvdata(dai->codec->dev);

	if (!codec_data->hdmi_ops.audio_info_setup) {
		dev_err(dai->dev, "%s() audio_info_setup is null\n", __func__);
		return -EINVAL;
	}

	if (IS_ERR_VALUE(msm_hdmi_audio_codec_return_value)) {
		dev_err_ratelimited(dai->dev,
			"%s() HDMI core is not ready (ret val = %d)\n",
@@ -200,6 +220,11 @@ static void msm_hdmi_audio_codec_rx_dai_shutdown(
	struct msm_hdmi_audio_codec_rx_data *codec_data =
			dev_get_drvdata(dai->codec->dev);

	if (!codec_data->hdmi_ops.cable_status) {
		dev_err(dai->dev, "%s() cable_status is null\n", __func__);
		return;
	}

	rc = codec_data->hdmi_ops.cable_status(
			codec_data->hdmi_core_pdev, 0);
	if (IS_ERR_VALUE(rc)) {