diff options
Diffstat (limited to 'sound/isa/sb/jazz16.c')
-rw-r--r-- | sound/isa/sb/jazz16.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/sound/isa/sb/jazz16.c b/sound/isa/sb/jazz16.c index d52966b75846..8d21a3feda3a 100644 --- a/sound/isa/sb/jazz16.c +++ b/sound/isa/sb/jazz16.c | |||
@@ -189,10 +189,29 @@ static int __devinit snd_jazz16_match(struct device *devptr, unsigned int dev) | |||
189 | if (port[dev] == SNDRV_AUTO_PORT) { | 189 | if (port[dev] == SNDRV_AUTO_PORT) { |
190 | snd_printk(KERN_ERR "please specify port\n"); | 190 | snd_printk(KERN_ERR "please specify port\n"); |
191 | return 0; | 191 | return 0; |
192 | } else if (port[dev] == 0x200 || (port[dev] & ~0x270)) { | ||
193 | snd_printk(KERN_ERR "incorrect port specified\n"); | ||
194 | return 0; | ||
195 | } | ||
196 | if (dma8[dev] != SNDRV_AUTO_DMA && | ||
197 | dma8[dev] != 1 && dma8[dev] != 3) { | ||
198 | snd_printk(KERN_ERR "dma8 must be 1 or 3\n"); | ||
199 | return 0; | ||
192 | } | 200 | } |
193 | if (dma16[dev] != SNDRV_AUTO_DMA && | 201 | if (dma16[dev] != SNDRV_AUTO_DMA && |
194 | dma16[dev] != 5 && dma16[dev] != 7) { | 202 | dma16[dev] != 5 && dma16[dev] != 7) { |
195 | snd_printk(KERN_ERR "dma16 must be 5 or 7"); | 203 | snd_printk(KERN_ERR "dma16 must be 5 or 7\n"); |
204 | return 0; | ||
205 | } | ||
206 | if (mpu_port[dev] != SNDRV_AUTO_PORT && | ||
207 | (mpu_port[dev] & ~0x030) != 0x300) { | ||
208 | snd_printk(KERN_ERR "incorrect mpu_port specified\n"); | ||
209 | return 0; | ||
210 | } | ||
211 | if (mpu_irq[dev] != SNDRV_AUTO_DMA && | ||
212 | mpu_irq[dev] != 2 && mpu_irq[dev] != 3 && | ||
213 | mpu_irq[dev] != 5 && mpu_irq[dev] != 7) { | ||
214 | snd_printk(KERN_ERR "mpu_irq must be 2, 3, 5 or 7\n"); | ||
196 | return 0; | 215 | return 0; |
197 | } | 216 | } |
198 | return 1; | 217 | return 1; |