|
@@ -272,7 +272,14 @@ static int snd_hwdep_control_ioctl(struct snd_card *card,
|
|
|
if (get_user(device, (int __user *)arg))
|
|
|
return -EFAULT;
|
|
|
mutex_lock(®ister_mutex);
|
|
|
- device = device < 0 ? 0 : device + 1;
|
|
|
+
|
|
|
+ if (device < 0)
|
|
|
+ device = 0;
|
|
|
+ else if (device < SNDRV_MINOR_HWDEPS)
|
|
|
+ device++;
|
|
|
+ else
|
|
|
+ device = SNDRV_MINOR_HWDEPS;
|
|
|
+
|
|
|
while (device < SNDRV_MINOR_HWDEPS) {
|
|
|
if (snd_hwdep_search(card, device))
|
|
|
break;
|