mirror of https://gitee.com/openkylin/linux.git
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:
parent
0d4e399965
commit
d656b4a654
|
@ -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()) {
|
||||||
|
|
Loading…
Reference in New Issue