Staging: ipack/devices/ipoctal: remove unneeded lock in IRQ handler
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Mon, 25 Jun 2012 15:15:47 +0000 (17:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Jun 2012 17:50:01 +0000 (10:50 -0700)
In the rest of the code, the data is protected with spin_lock_irqsave().

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ipack/devices/ipoctal.c

index b11126d..ec7b2f9 100644 (file)
@@ -299,7 +299,7 @@ static int ipoctal_irq_handler(void *arg)
                                ipoctal->nb_bytes[channel] = 0;
                                continue;
                        }
-                       spin_lock(&ipoctal->lock[channel]);
+
                        value = ipoctal->tty_port[channel].xmit_buf[*pointer_write];
                        ipoctal_write_io_reg(ipoctal,
                                             &ipoctal->chan_regs[channel].u.w.thr,
@@ -309,7 +309,6 @@ static int ipoctal_irq_handler(void *arg)
                        (*pointer_write)++;
                        *pointer_write = *pointer_write % PAGE_SIZE;
                        ipoctal->nb_bytes[channel]--;
-                       spin_unlock(&ipoctal->lock[channel]);
 
                        if ((ipoctal->nb_bytes[channel] == 0) &&
                            (waitqueue_active(&ipoctal->queue[channel]))) {