Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        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,
                                (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);