On Mon, 04 Feb 2008 20:01:26 +0100 michael <[EMAIL PROTECTED]> 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; } /* -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/