diff options
Diffstat (limited to 'sound/oss/cs4232.c')
-rw-r--r-- | sound/oss/cs4232.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/oss/cs4232.c b/sound/oss/cs4232.c index 6ec308f5d935..7c59e2d4003a 100644 --- a/sound/oss/cs4232.c +++ b/sound/oss/cs4232.c | |||
@@ -195,10 +195,12 @@ static int __init probe_cs4232(struct address_info *hw_config, int isapnp_config | |||
195 | CS_OUT2(0x15, 0x00); /* Select logical device 0 (WSS/SB/FM) */ | 195 | CS_OUT2(0x15, 0x00); /* Select logical device 0 (WSS/SB/FM) */ |
196 | CS_OUT3(0x47, (base >> 8) & 0xff, base & 0xff); /* WSS base */ | 196 | CS_OUT3(0x47, (base >> 8) & 0xff, base & 0xff); /* WSS base */ |
197 | 197 | ||
198 | if (check_region(0x388, 4)) /* Not free */ | 198 | if (!request_region(0x388, 4, "FM")) /* Not free */ |
199 | CS_OUT3(0x48, 0x00, 0x00) /* FM base off */ | 199 | CS_OUT3(0x48, 0x00, 0x00) /* FM base off */ |
200 | else | 200 | else { |
201 | release_region(0x388, 4); | ||
201 | CS_OUT3(0x48, 0x03, 0x88); /* FM base 0x388 */ | 202 | CS_OUT3(0x48, 0x03, 0x88); /* FM base 0x388 */ |
203 | } | ||
202 | 204 | ||
203 | CS_OUT3(0x42, 0x00, 0x00); /* SB base off */ | 205 | CS_OUT3(0x42, 0x00, 0x00); /* SB base off */ |
204 | CS_OUT2(0x22, irq); /* SB+WSS IRQ */ | 206 | CS_OUT2(0x22, irq); /* SB+WSS IRQ */ |