diff options
Diffstat (limited to 'sound/isa/msnd/msnd_pinnacle.c')
-rw-r--r-- | sound/isa/msnd/msnd_pinnacle.c | 13 |
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; | |||
761 | static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; | 764 | static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; |
762 | static long mem[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; | 765 | static long mem[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; |
763 | 766 | ||
767 | #ifndef MSND_CLASSIC | ||
764 | static long cfg[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; | 768 | static 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) */ |
768 | static long ide_io0[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; | 771 | static long ide_io0[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; |
769 | static long ide_io1[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; | 772 | static 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 | } |