diff options
-rw-r--r-- | drivers/staging/speakup/thread.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/speakup/thread.c b/drivers/staging/speakup/thread.c index 42fa660a7e0d..4397c8e898c7 100644 --- a/drivers/staging/speakup/thread.c +++ b/drivers/staging/speakup/thread.c @@ -22,7 +22,7 @@ int speakup_thread(void *data) while (1) { DEFINE_WAIT(wait); while (1) { - spk_lock(flags); + spin_lock_irqsave(&speakup_info.spinlock, flags); our_sound = spk_unprocessed_sound; spk_unprocessed_sound.active = 0; prepare_to_wait(&speakup_event, &wait, @@ -32,7 +32,7 @@ int speakup_thread(void *data) (synth && synth->catch_up && synth->alive && (speakup_info.flushing || !synth_buffer_empty())); - spk_unlock(flags); + spin_unlock_irqrestore(&speakup_info.spinlock, flags); if (should_break) break; mutex_unlock(&spk_mutex); |