From: Takashi Sakamoto Date: Thu, 8 Jun 2017 21:37:03 +0000 (+0900) Subject: ALSA: pcm: remove function local variable with alternative evaluation X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=d656b4a6549f0f5863b7888b25a7b20d03ecbce7;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.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 Signed-off-by: Takashi Iwai --- diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 41aeb6facdec..db4cdd114ed4 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -342,16 +342,13 @@ retry: for (k = 0; k < constrs->rules_num; k++) { struct snd_pcm_hw_rule *r = &constrs->rules[k]; unsigned int d; - int doit = 0; if (r->cond && !(r->cond & params->flags)) continue; for (d = 0; r->deps[d] >= 0; d++) { - if (vstamps[r->deps[d]] > rstamps[k]) { - doit = 1; + if (vstamps[r->deps[d]] > rstamps[k]) break; - } } - if (!doit) + if (r->deps[d] < 0) continue; if (trace_hw_mask_param_enabled()) {