Fix wrong register read address and add interrupt acknowledge.

Submitted by Benjamin Krill on May 5, 2009, 7:11 p.m.

Details

Message ID 20090505191116.GA7267@codiert.org
State Accepted, archived
Headers show

Commit Message

Benjamin Krill May 5, 2009, 7:11 p.m.
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(-)

--
1.5.4.5

Comments

Timur Tabi May 5, 2009, 7:24 p.m.
On Tue, May 5, 2009 at 2:11 PM, Benjamin Krill <ben@codiert.org> wrote:
> 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.

The one-line summary of your patch is too vague.  It should mention
the name of the driver somehow.
Josh Boyer May 5, 2009, 11:09 p.m.
On Tue, May 05, 2009 at 02:24:04PM -0500, Timur Tabi wrote:
>On Tue, May 5, 2009 at 2:11 PM, Benjamin Krill <ben@codiert.org> wrote:
>> 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.
>
>The one-line summary of your patch is too vague.  It should mention
>the name of the driver somehow.

That is quite true.  Although resending the patch just for that seems overkill.
The maintainer can edit the summary rather easily.

josh
Benjamin Krill May 8, 2009, 7:50 a.m.
* Josh Boyer | 2009-05-05 19:09:19 [-0400]:

>On Tue, May 05, 2009 at 02:24:04PM -0500, Timur Tabi wrote:
>>On Tue, May 5, 2009 at 2:11 PM, Benjamin Krill <ben@codiert.org> wrote:
>
>That is quite true.  Although resending the patch just for that seems overkill.
>The maintainer can edit the summary rather easily.

Ben, could you please merge this patch in your next tree?


cheers
  ben

Patch hide | download patch | download mbox

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;