]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/core/oss/rate.c
ALSA: Kill snd_assert() in sound/core/*
[linux-2.6-omap-h63xx.git] / sound / core / oss / rate.c
index 14dfb3175d84548f9ef1ccdcde84517cb137a635..a466443c4a2649b819147e70d9f041bc1f25b38b 100644 (file)
@@ -185,7 +185,8 @@ static snd_pcm_sframes_t rate_src_frames(struct snd_pcm_plugin *plugin, snd_pcm_
        struct rate_priv *data;
        snd_pcm_sframes_t res;
 
-       snd_assert(plugin != NULL, return -ENXIO);
+       if (snd_BUG_ON(!plugin))
+               return -ENXIO;
        if (frames == 0)
                return 0;
        data = (struct rate_priv *)plugin->extra_data;
@@ -217,7 +218,8 @@ static snd_pcm_sframes_t rate_dst_frames(struct snd_pcm_plugin *plugin, snd_pcm_
        struct rate_priv *data;
        snd_pcm_sframes_t res;
 
-       snd_assert(plugin != NULL, return -ENXIO);
+       if (snd_BUG_ON(!plugin))
+               return -ENXIO;
        if (frames == 0)
                return 0;
        data = (struct rate_priv *)plugin->extra_data;
@@ -252,19 +254,20 @@ static snd_pcm_sframes_t rate_transfer(struct snd_pcm_plugin *plugin,
        snd_pcm_uframes_t dst_frames;
        struct rate_priv *data;
 
-       snd_assert(plugin != NULL && src_channels != NULL && dst_channels != NULL, return -ENXIO);
+       if (snd_BUG_ON(!plugin || !src_channels || !dst_channels))
+               return -ENXIO;
        if (frames == 0)
                return 0;
 #ifdef CONFIG_SND_DEBUG
        {
                unsigned int channel;
                for (channel = 0; channel < plugin->src_format.channels; channel++) {
-                       snd_assert(src_channels[channel].area.first % 8 == 0 &&
-                                  src_channels[channel].area.step % 8 == 0,
-                                  return -ENXIO);
-                       snd_assert(dst_channels[channel].area.first % 8 == 0 &&
-                                  dst_channels[channel].area.step % 8 == 0,
-                                  return -ENXIO);
+                       if (snd_BUG_ON(src_channels[channel].area.first % 8 ||
+                                      src_channels[channel].area.step % 8))
+                               return -ENXIO;
+                       if (snd_BUG_ON(dst_channels[channel].area.first % 8 ||
+                                      dst_channels[channel].area.step % 8))
+                               return -ENXIO;
                }
        }
 #endif
@@ -281,7 +284,8 @@ static int rate_action(struct snd_pcm_plugin *plugin,
                       enum snd_pcm_plugin_action action,
                       unsigned long udata)
 {
-       snd_assert(plugin != NULL, return -ENXIO);
+       if (snd_BUG_ON(!plugin))
+               return -ENXIO;
        switch (action) {
        case INIT:
        case PREPARE:
@@ -302,14 +306,20 @@ int snd_pcm_plugin_build_rate(struct snd_pcm_substream *plug,
        struct rate_priv *data;
        struct snd_pcm_plugin *plugin;
 
-       snd_assert(r_plugin != NULL, return -ENXIO);
+       if (snd_BUG_ON(!r_plugin))
+               return -ENXIO;
        *r_plugin = NULL;
 
-       snd_assert(src_format->channels == dst_format->channels, return -ENXIO);
-       snd_assert(src_format->channels > 0, return -ENXIO);
-       snd_assert(src_format->format == SNDRV_PCM_FORMAT_S16, return -ENXIO);
-       snd_assert(dst_format->format == SNDRV_PCM_FORMAT_S16, return -ENXIO);
-       snd_assert(src_format->rate != dst_format->rate, return -ENXIO);
+       if (snd_BUG_ON(src_format->channels != dst_format->channels))
+               return -ENXIO;
+       if (snd_BUG_ON(src_format->channels <= 0))
+               return -ENXIO;
+       if (snd_BUG_ON(src_format->format != SNDRV_PCM_FORMAT_S16))
+               return -ENXIO;
+       if (snd_BUG_ON(dst_format->format != SNDRV_PCM_FORMAT_S16))
+               return -ENXIO;
+       if (snd_BUG_ON(src_format->rate == dst_format->rate))
+               return -ENXIO;
 
        err = snd_pcm_plugin_build(plug, "rate conversion",
                                   src_format, dst_format,