ALSA: pcm: remove function local variable with alternative evaluation

A local variable is used to judge whether a parameter should be handled
due to reverse dependency of the other rules. However, this can be
obsoleted by check of a sentinel in dependency array.

This commit removes the local variable and check the sentinel to reduce
stack usage.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Sakamoto 2017-06-09 06:37:03 +09:00 committed by Takashi Iwai
parent 0d4e399965
commit d656b4a654
1 changed files with 2 additions and 5 deletions

View File

@ -342,16 +342,13 @@ static int constrain_params_by_rules(struct snd_pcm_substream *substream,
for (k = 0; k < constrs->rules_num; k++) { for (k = 0; k < constrs->rules_num; k++) {
struct snd_pcm_hw_rule *r = &constrs->rules[k]; struct snd_pcm_hw_rule *r = &constrs->rules[k];
unsigned int d; unsigned int d;
int doit = 0;
if (r->cond && !(r->cond & params->flags)) if (r->cond && !(r->cond & params->flags))
continue; continue;
for (d = 0; r->deps[d] >= 0; d++) { for (d = 0; r->deps[d] >= 0; d++) {
if (vstamps[r->deps[d]] > rstamps[k]) { if (vstamps[r->deps[d]] > rstamps[k])
doit = 1;
break; break;
}
} }
if (!doit) if (r->deps[d] < 0)
continue; continue;
if (trace_hw_mask_param_enabled()) { if (trace_hw_mask_param_enabled()) {