diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-07-03 23:10:23 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-07-03 23:10:23 +0200 |
commit | c470331e69bd54d11a9ea3c27a0e4ad783d02d6b (patch) | |
tree | 40966f94ea8ea1bb12373df23644f8ee803820b9 | |
parent | ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callback (diff) | |
download | linux-c470331e69bd54d11a9ea3c27a0e4ad783d02d6b.tar.xz linux-c470331e69bd54d11a9ea3c27a0e4ad783d02d6b.zip |
ALSA: hda - Add sanity check in PCM open callback
Add some sanity checks of struct snd_pcm_hardware fields in the PCM
open callback of hda driver. This makes a bit easier to debug any PCM
setup errors in the codec side.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/hda_intel.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index b36dc46615a4..1877d95d4aa6 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1464,6 +1464,12 @@ static int azx_pcm_open(struct snd_pcm_substream *substream) snd_pcm_set_sync(substream); mutex_unlock(&chip->open_mutex); + if (snd_BUG_ON(!runtime->hw.channels_min || !runtime->hw.channels_max)) + return -EINVAL; + if (snd_BUG_ON(!runtime->hw.formats)) + return -EINVAL; + if (snd_BUG_ON(!runtime->hw.rates)) + return -EINVAL; return 0; } |