ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Wed, 18 Dec 2019 00:05:17 +0000 (18:05 -0600)
committerMark Brown <broonie@kernel.org>
Wed, 18 Dec 2019 19:49:42 +0000 (19:49 +0000)
commit921162c81a089aa2f442103290f1af9ba281fc9f
treefa47aaed7bcc157b7d109fc3748b25e1757e0087
parentb06e46427f987bf83dcb6a69516b57276eb8ec0c
ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free

When the PCM_PARAM IPC fails while configuring the FE, the kernel
oopses in the HDaudio link DMA .hw_free operation. The root cause is a
NULL dma_data since the BE .hw_params was never called by the SOC
core.

This error can also happen if the HDaudio link DMA configuration IPC
fails in the BE .hw_params.

This patches makes sure the dma_data is properly saved in .hw_params,
and tested before being use in hw_free.

GitHub issue: https://github.com/thesofproject/linux/issues/1417

Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191218000518.5830-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-dai.c