diff options
-rw-r--r-- | sound/core/control.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index 9ce00ed20fb..d1b5ce818a4 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, | |||
285 | struct snd_kcontrol *kctl; | 285 | struct snd_kcontrol *kctl; |
286 | 286 | ||
287 | list_for_each_entry(kctl, &card->controls, list) { | 287 | list_for_each_entry(kctl, &card->controls, list) { |
288 | if ((kctl->id.numid <= card->last_numid && | 288 | if (kctl->id.numid < card->last_numid + 1 + count && |
289 | kctl->id.numid + kctl->count > card->last_numid) || | 289 | kctl->id.numid + kctl->count > card->last_numid + 1) |
290 | (kctl->id.numid <= card->last_numid + count - 1 && | ||
291 | kctl->id.numid + kctl->count > card->last_numid + count - 1)) | ||
292 | return card->last_numid = kctl->id.numid + kctl->count - 1; | 290 | return card->last_numid = kctl->id.numid + kctl->count - 1; |
293 | } | 291 | } |
294 | return card->last_numid; | 292 | return card->last_numid; |