Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 /*printk(KERN_ERR "in irq\n"); */
 /*pr_warn("in IRQ\n"); */
        int c;
-       spk_lock(flags);
+       spin_lock_irqsave(&speakup_info.spinlock, flags);
        while (inb_p(speakup_info.port_tts + UART_LSR) & UART_LSR_DR) {
 
                c = inb_p(speakup_info.port_tts+UART_RX);
 /*printk(KERN_ERR "c = %d\n", c); */
 /*pr_warn("C = %d\n", c); */
        }
-       spk_unlock(flags);
+       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
        return IRQ_HANDLED;
 }