diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2008-02-23 18:23:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-23 20:12:14 -0500 |
commit | 0400b697ef20247d26427e4beb6a84ca5aa51f45 (patch) | |
tree | 1d7461bea423da98bb8d4ac409a69126b7f8c9cb /drivers/serial | |
parent | 98bcef56cadb4da138e2c1a2a0790f372382b236 (diff) |
atmel_serial: fix interrupt handler return value
We should only return IRQ_HANDLED when we actually found something to
handle. This is important since the USART interrupt handler may be
shared with the timer interrupt on some chips.
Pointed-out-by: michael <trimarchi@gandalf.sssup.it>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/atmel_serial.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c index fad245b064d6..d57bf3e708d8 100644 --- a/drivers/serial/atmel_serial.c +++ b/drivers/serial/atmel_serial.c | |||
@@ -549,7 +549,7 @@ static irqreturn_t atmel_interrupt(int irq, void *dev_id) | |||
549 | atmel_handle_transmit(port, pending); | 549 | atmel_handle_transmit(port, pending); |
550 | } while (pass_counter++ < ATMEL_ISR_PASS_LIMIT); | 550 | } while (pass_counter++ < ATMEL_ISR_PASS_LIMIT); |
551 | 551 | ||
552 | return IRQ_HANDLED; | 552 | return pass_counter ? IRQ_HANDLED : IRQ_NONE; |
553 | } | 553 | } |
554 | 554 | ||
555 | /* | 555 | /* |