lkml.org 
[lkml]   [2008]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH -mm v4 6/9] atmel_serial: Split the interrupt handler
On Mon, 04 Feb 2008 20:01:26 +0100
michael <trimarchi@gandalf.sssup.it> wrote:

> I think the the atmel_interrupt handler
> must check the
> pass_counter before return IRQ_HANDLED.

I'm not sure if it helps in this particular case but yeah, since the
interrupt may be shared, it's definitely wrong to always return
IRQ_HANDLED.

Nice catch. Could you try the patch below?

Haavard

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index cb70cc5..f310a80 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -552,7 +552,7 @@ static irqreturn_t atmel_interrupt(int irq, void *dev_id)
atmel_handle_transmit(port, pending);
} while (pass_counter++ < ATMEL_ISR_PASS_LIMIT);

- return IRQ_HANDLED;
+ return pass_counter ? IRQ_HANDLED : IRQ_NONE;
}

/*

\
 
 \ /
  Last update: 2008-02-04 21:29    [W:1.345 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site