diff options
Diffstat (limited to 'sound/isa/sb/emu8000.c')
-rw-r--r-- | sound/isa/sb/emu8000.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/sound/isa/sb/emu8000.c b/sound/isa/sb/emu8000.c index 5375705c054b..b09c6575e01a 100644 --- a/sound/isa/sb/emu8000.c +++ b/sound/isa/sb/emu8000.c | |||
@@ -135,8 +135,7 @@ static void __init | |||
135 | snd_emu8000_read_wait(emu8000_t *emu) | 135 | snd_emu8000_read_wait(emu8000_t *emu) |
136 | { | 136 | { |
137 | while ((EMU8000_SMALR_READ(emu) & 0x80000000) != 0) { | 137 | while ((EMU8000_SMALR_READ(emu) & 0x80000000) != 0) { |
138 | set_current_state(TASK_INTERRUPTIBLE); | 138 | schedule_timeout_interruptible(1); |
139 | schedule_timeout(1); | ||
140 | if (signal_pending(current)) | 139 | if (signal_pending(current)) |
141 | break; | 140 | break; |
142 | } | 141 | } |
@@ -148,8 +147,7 @@ static void __init | |||
148 | snd_emu8000_write_wait(emu8000_t *emu) | 147 | snd_emu8000_write_wait(emu8000_t *emu) |
149 | { | 148 | { |
150 | while ((EMU8000_SMALW_READ(emu) & 0x80000000) != 0) { | 149 | while ((EMU8000_SMALW_READ(emu) & 0x80000000) != 0) { |
151 | set_current_state(TASK_INTERRUPTIBLE); | 150 | schedule_timeout_interruptible(1); |
152 | schedule_timeout(1); | ||
153 | if (signal_pending(current)) | 151 | if (signal_pending(current)) |
154 | break; | 152 | break; |
155 | } | 153 | } |
@@ -437,8 +435,7 @@ size_dram(emu8000_t *emu) | |||
437 | for (i = 0; i < 10000; i++) { | 435 | for (i = 0; i < 10000; i++) { |
438 | if ((EMU8000_SMALW_READ(emu) & 0x80000000) == 0) | 436 | if ((EMU8000_SMALW_READ(emu) & 0x80000000) == 0) |
439 | break; | 437 | break; |
440 | set_current_state(TASK_INTERRUPTIBLE); | 438 | schedule_timeout_interruptible(1); |
441 | schedule_timeout(1); | ||
442 | if (signal_pending(current)) | 439 | if (signal_pending(current)) |
443 | break; | 440 | break; |
444 | } | 441 | } |
@@ -1054,18 +1051,9 @@ __error: | |||
1054 | */ | 1051 | */ |
1055 | static int snd_emu8000_free(emu8000_t *hw) | 1052 | static int snd_emu8000_free(emu8000_t *hw) |
1056 | { | 1053 | { |
1057 | if (hw->res_port1) { | 1054 | release_and_free_resource(hw->res_port1); |
1058 | release_resource(hw->res_port1); | 1055 | release_and_free_resource(hw->res_port2); |
1059 | kfree_nocheck(hw->res_port1); | 1056 | release_and_free_resource(hw->res_port3); |
1060 | } | ||
1061 | if (hw->res_port2) { | ||
1062 | release_resource(hw->res_port2); | ||
1063 | kfree_nocheck(hw->res_port2); | ||
1064 | } | ||
1065 | if (hw->res_port3) { | ||
1066 | release_resource(hw->res_port3); | ||
1067 | kfree_nocheck(hw->res_port3); | ||
1068 | } | ||
1069 | kfree(hw); | 1057 | kfree(hw); |
1070 | return 0; | 1058 | return 0; |
1071 | } | 1059 | } |