aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/msnd/msnd_pinnacle.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/msnd/msnd_pinnacle.c')
-rw-r--r--sound/isa/msnd/msnd_pinnacle.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sound/isa/msnd/msnd_pinnacle.c b/sound/isa/msnd/msnd_pinnacle.c
index 60b6abd7161..91d6023a63e 100644
--- a/sound/isa/msnd/msnd_pinnacle.c
+++ b/sound/isa/msnd/msnd_pinnacle.c
@@ -549,7 +549,10 @@ static int __devinit snd_msnd_attach(struct snd_card *card)
549 printk(KERN_ERR LOGNAME ": Couldn't grab IRQ %d\n", chip->irq); 549 printk(KERN_ERR LOGNAME ": Couldn't grab IRQ %d\n", chip->irq);
550 return err; 550 return err;
551 } 551 }
552 request_region(chip->io, DSP_NUMIO, card->shortname); 552 if (request_region(chip->io, DSP_NUMIO, card->shortname) == NULL) {
553 free_irq(chip->irq, chip);
554 return -EBUSY;
555 }
553 556
554 if (!request_mem_region(chip->base, BUFFSIZE, card->shortname)) { 557 if (!request_mem_region(chip->base, BUFFSIZE, card->shortname)) {
555 printk(KERN_ERR LOGNAME 558 printk(KERN_ERR LOGNAME
@@ -761,9 +764,9 @@ static long io[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
761static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; 764static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ;
762static long mem[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; 765static long mem[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
763 766
767#ifndef MSND_CLASSIC
764static long cfg[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; 768static long cfg[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
765 769
766#ifndef MSND_CLASSIC
767/* Extra Peripheral Configuration (Default: Disable) */ 770/* Extra Peripheral Configuration (Default: Disable) */
768static long ide_io0[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; 771static long ide_io0[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
769static long ide_io1[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; 772static long ide_io1[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
@@ -891,7 +894,11 @@ static int __devinit snd_msnd_isa_probe(struct device *pdev, unsigned int idx)
891 struct snd_card *card; 894 struct snd_card *card;
892 struct snd_msnd *chip; 895 struct snd_msnd *chip;
893 896
894 if (has_isapnp(idx) || cfg[idx] == SNDRV_AUTO_PORT) { 897 if (has_isapnp(idx)
898#ifndef MSND_CLASSIC
899 || cfg[idx] == SNDRV_AUTO_PORT
900#endif
901 ) {
895 printk(KERN_INFO LOGNAME ": Assuming PnP mode\n"); 902 printk(KERN_INFO LOGNAME ": Assuming PnP mode\n");
896 return -ENODEV; 903 return -ENODEV;
897 } 904 }