ALSA: pcm: snd_interval_step: drop the min parameter
authorClemens Ladisch <clemens@ladisch.de>
Sun, 7 Sep 2014 19:43:07 +0000 (21:43 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 8 Sep 2014 08:54:18 +0000 (10:54 +0200)
The min parameter was not used by any caller.  And if it were used,
underflows in the calculations could lead to incorrect results.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_lib.c

index 9acc77e..6fd5e1c 100644 (file)
@@ -1113,16 +1113,16 @@ int snd_interval_list(struct snd_interval *i, unsigned int count,
 
 EXPORT_SYMBOL(snd_interval_list);
 
-static int snd_interval_step(struct snd_interval *i, unsigned int min, unsigned int step)
+static int snd_interval_step(struct snd_interval *i, unsigned int step)
 {
        unsigned int n;
        int changed = 0;
-       n = (i->min - min) % step;
+       n = i->min % step;
        if (n != 0 || i->openmin) {
                i->min += step - n;
                changed = 1;
        }
-       n = (i->max - min) % step;
+       n = i->max % step;
        if (n != 0 || i->openmax) {
                i->max -= n;
                changed = 1;
@@ -1427,7 +1427,7 @@ static int snd_pcm_hw_rule_step(struct snd_pcm_hw_params *params,
                                struct snd_pcm_hw_rule *rule)
 {
        unsigned long step = (unsigned long) rule->private;
-       return snd_interval_step(hw_param_interval(params, rule->var), 0, step);
+       return snd_interval_step(hw_param_interval(params, rule->var), step);
 }
 
 /**