summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/core/control.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sound/core/control.c b/sound/core/control.c
index 9ce00ed20fba..d1b5ce818a4f 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -285,10 +285,8 @@ static unsigned int snd_ctl_hole_check(struct snd_card *card,
struct snd_kcontrol *kctl;
list_for_each_entry(kctl, &card->controls, list) {
- if ((kctl->id.numid <= card->last_numid &&
- kctl->id.numid + kctl->count > card->last_numid) ||
- (kctl->id.numid <= card->last_numid + count - 1 &&
- kctl->id.numid + kctl->count > card->last_numid + count - 1))
+ if (kctl->id.numid < card->last_numid + 1 + count &&
+ kctl->id.numid + kctl->count > card->last_numid + 1)
return card->last_numid = kctl->id.numid + kctl->count - 1;
}
return card->last_numid;