mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
ASoC: SOF: Intel: hda-stream: Do not dereference hstream until it is safe
Only access hext_stream->hstream after it has been checked for NULL pointer Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Link: https://lore.kernel.org/r/20230404092115.27949-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
3af2437296
commit
09255c7ed8
@@ -485,9 +485,8 @@ int hda_dsp_stream_hw_params(struct snd_sof_dev *sdev,
|
|||||||
{
|
{
|
||||||
const struct sof_intel_dsp_desc *chip = get_chip_info(sdev->pdata);
|
const struct sof_intel_dsp_desc *chip = get_chip_info(sdev->pdata);
|
||||||
struct hdac_bus *bus = sof_to_bus(sdev);
|
struct hdac_bus *bus = sof_to_bus(sdev);
|
||||||
struct hdac_stream *hstream = &hext_stream->hstream;
|
struct hdac_stream *hstream;
|
||||||
int sd_offset = SOF_STREAM_SD_OFFSET(hstream);
|
int sd_offset, ret;
|
||||||
int ret;
|
|
||||||
u32 dma_start = SOF_HDA_SD_CTL_DMA_START;
|
u32 dma_start = SOF_HDA_SD_CTL_DMA_START;
|
||||||
u32 mask;
|
u32 mask;
|
||||||
u32 run;
|
u32 run;
|
||||||
@@ -502,6 +501,9 @@ int hda_dsp_stream_hw_params(struct snd_sof_dev *sdev,
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hstream = &hext_stream->hstream;
|
||||||
|
sd_offset = SOF_STREAM_SD_OFFSET(hstream);
|
||||||
|
|
||||||
/* decouple host and link DMA */
|
/* decouple host and link DMA */
|
||||||
mask = 0x1 << hstream->index;
|
mask = 0x1 << hstream->index;
|
||||||
snd_sof_dsp_update_bits(sdev, HDA_DSP_PP_BAR, SOF_HDA_REG_PP_PPCTL,
|
snd_sof_dsp_update_bits(sdev, HDA_DSP_PP_BAR, SOF_HDA_REG_PP_PPCTL,
|
||||||
|
Reference in New Issue
Block a user