ALSA: Fix the card number limit of OSS-emulation
authorTakashi Iwai <tiwai@suse.de>
Tue, 8 May 2012 15:25:56 +0000 (17:25 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 8 May 2012 15:25:56 +0000 (17:25 +0200)
There are left-over codes from the ancient days with the static device
number limitation of 8.  Actaully OSS can support up to 16 cards.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/sound_oss.c

index c700920430618f94a0dc0f7957ed75b813481507..e9528333e36d01e6e0282255639da08b7174e505 100644 (file)
@@ -35,7 +35,7 @@
 #include <linux/sound.h>
 #include <linux/mutex.h>
 
-#define SNDRV_OSS_MINORS 128
+#define SNDRV_OSS_MINORS 256
 
 static struct snd_minor *snd_oss_minors[SNDRV_OSS_MINORS];
 static DEFINE_MUTEX(sound_oss_mutex);
@@ -111,7 +111,7 @@ int snd_register_oss_device(int type, struct snd_card *card, int dev,
        int register1 = -1, register2 = -1;
        struct device *carddev = snd_card_get_device_link(card);
 
-       if (card && card->number >= 8)
+       if (card && card->number >= SNDRV_MINOR_OSS_DEVICES)
                return 0; /* ignore silently */
        if (minor < 0)
                return minor;
@@ -170,7 +170,7 @@ int snd_unregister_oss_device(int type, struct snd_card *card, int dev)
        int track2 = -1;
        struct snd_minor *mptr;
 
-       if (card && card->number >= 8)
+       if (card && card->number >= SNDRV_MINOR_OSS_DEVICES)
                return 0;
        if (minor < 0)
                return minor;