ALSA: hda: Error out if invalid stream is being setup
Scenario when snd_hdac_stream_setup_periods() receives an instance of
struct hdac_stream with neither ->substream nor ->cstream initialized is
invalid.
Simultaneously addresses "uninitialized symbol 'dmab'" error reported by
Smatch.
Fixes: 3e9582267e
("ALSA: hda: Interrupt servicing and BDL setup for compress streams")
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20221208142635.1514944-1-cezary.rojewski@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
a587601b55
commit
084ca21693
@ -500,6 +500,9 @@ int snd_hdac_stream_setup_periods(struct hdac_stream *azx_dev)
|
||||
dmab = snd_pcm_get_dma_buf(substream);
|
||||
} else if (cstream) {
|
||||
dmab = snd_pcm_get_dma_buf(cstream);
|
||||
} else {
|
||||
WARN(1, "No substream or cstream assigned\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* reset BDL address */
|
||||
|
Loading…
Reference in New Issue
Block a user