diff options
Diffstat (limited to 'sound/oss/pss.c')
-rw-r--r-- | sound/oss/pss.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/oss/pss.c b/sound/oss/pss.c index 9b800ce5100e..2fc0624024b5 100644 --- a/sound/oss/pss.c +++ b/sound/oss/pss.c | |||
@@ -673,7 +673,8 @@ static void configure_nonsound_components(void) | |||
673 | 673 | ||
674 | if (pss_cdrom_port == -1) { /* If cdrom port enablation wasn't requested */ | 674 | if (pss_cdrom_port == -1) { /* If cdrom port enablation wasn't requested */ |
675 | printk(KERN_INFO "PSS: CDROM port not enabled.\n"); | 675 | printk(KERN_INFO "PSS: CDROM port not enabled.\n"); |
676 | } else if (check_region(pss_cdrom_port, 2)) { | 676 | } else if (!request_region(pss_cdrom_port, 2, "PSS CDROM")) { |
677 | pss_cdrom_port = -1; | ||
677 | printk(KERN_ERR "PSS: CDROM I/O port conflict.\n"); | 678 | printk(KERN_ERR "PSS: CDROM I/O port conflict.\n"); |
678 | } else { | 679 | } else { |
679 | set_io_base(devc, CONF_CDROM, pss_cdrom_port); | 680 | set_io_base(devc, CONF_CDROM, pss_cdrom_port); |
@@ -1232,7 +1233,8 @@ static void __exit cleanup_pss(void) | |||
1232 | if(pssmpu) | 1233 | if(pssmpu) |
1233 | unload_pss_mpu(&cfg_mpu); | 1234 | unload_pss_mpu(&cfg_mpu); |
1234 | unload_pss(&cfg); | 1235 | unload_pss(&cfg); |
1235 | } | 1236 | } else if (pss_cdrom_port != -1) |
1237 | release_region(pss_cdrom_port, 2); | ||
1236 | 1238 | ||
1237 | if(!pss_keep_settings) /* Keep hardware settings if asked */ | 1239 | if(!pss_keep_settings) /* Keep hardware settings if asked */ |
1238 | { | 1240 | { |