LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Fix wrong register read address and add interrupt acknowledge.
@ 2009-05-05 19:11 Benjamin Krill
  2009-05-05 19:24 ` Timur Tabi
  0 siblings, 1 reply; 4+ messages in thread
From: Benjamin Krill @ 2009-05-05 19:11 UTC (permalink / raw)
  To: linuxppc-dev, linux-serial; +Cc: arnd

The receive interrupt routine checks the wrong register if the
receive fifo is empty. Further an explicit interrupt acknowledge
write is introduced. In some circumstances another interrupt was
issued.

Signed-off-by: Benjamin Krill <ben@codiert.org>
---
 drivers/serial/nwpserial.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/nwpserial.c b/drivers/serial/nwpserial.c
index 32f3eaf..9e150b1 100644
--- a/drivers/serial/nwpserial.c
+++ b/drivers/serial/nwpserial.c
@@ -145,11 +145,13 @@ static irqreturn_t nwpserial_interrupt(int irq, void *dev_id)
 		ch = dcr_read(up->dcr_host, UART_RX);
 		if (up->port.ignore_status_mask != NWPSERIAL_STATUS_RXVALID)
 			tty_insert_flip_char(tty, ch, TTY_NORMAL);
-	} while (dcr_read(up->dcr_host, UART_RX) & UART_LSR_DR);
+	} while (dcr_read(up->dcr_host, UART_LSR) & UART_LSR_DR);

 	tty_flip_buffer_push(tty);
 	ret = IRQ_HANDLED;

+	/* clear interrupt */
+	dcr_write(up->dcr_host, UART_IIR, 1);
 out:
 	spin_unlock(&up->port.lock);
 	return ret;
--
1.5.4.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-05-08  7:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-05 19:11 [PATCH] Fix wrong register read address and add interrupt acknowledge Benjamin Krill
2009-05-05 19:24 ` Timur Tabi
2009-05-05 23:09   ` Josh Boyer
2009-05-08  7:50     ` Benjamin Krill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox