From b429feb3a8facb9453ee00f164f8abf72773833f Mon Sep 17 00:00:00 2001 From: Samuel Iglesias Gonsalvez Date: Mon, 10 Dec 2012 11:50:05 +0100 Subject: [PATCH] --- yaml --- r: 354940 b: refs/heads/master c: e7e664fd688a4a882ce571575ad721203f0cd584 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/ipack/devices/ipoctal.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index fe66b6943f62..7f958118c9a5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 21d27ed4616c9a7f2886c4159b4c409f73f96e76 +refs/heads/master: e7e664fd688a4a882ce571575ad721203f0cd584 diff --git a/trunk/drivers/ipack/devices/ipoctal.c b/trunk/drivers/ipack/devices/ipoctal.c index 9cd5572457ff..5ce2c4c5bb32 100644 --- a/trunk/drivers/ipack/devices/ipoctal.c +++ b/trunk/drivers/ipack/devices/ipoctal.c @@ -191,6 +191,8 @@ static void ipoctal_irq_channel(struct ipoctal_channel *channel) tty = tty_port_tty_get(&channel->tty_port); if (!tty) return; + + spin_lock(&channel->lock); /* The HW is organized in pair of channels. See which register we need * to read from */ isr = ioread8(&channel->block_regs->r.isr); @@ -216,6 +218,7 @@ static void ipoctal_irq_channel(struct ipoctal_channel *channel) tty_flip_buffer_push(tty); tty_kref_put(tty); + spin_unlock(&channel->lock); } static irqreturn_t ipoctal_irq_handler(void *arg)