From 656d3d289af8b66a88dc63c0050446363199b94c Mon Sep 17 00:00:00 2001 From: lyx Date: Mon, 25 Jul 2011 00:33:35 -0700 Subject: [PATCH] newton:modify bu92747 irda_irq type for fir EOF --- drivers/net/irda/ir_serial.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/irda/ir_serial.c b/drivers/net/irda/ir_serial.c index 76dfdf688e52..676340e5fd03 100755 --- a/drivers/net/irda/ir_serial.c +++ b/drivers/net/irda/ir_serial.c @@ -189,7 +189,9 @@ static irqreturn_t bu92747_irda_irq(int irqno, void *dev_id) if (irq_src & (REG_INT_DRX | FRM_EVT_RX_EOFRX | FRM_EVT_RX_RDE)) { bu92747_irda_do_rx(s); - tty_flip_buffer_push(s->port.state->port.tty); + if (!IS_FIR(s)) + tty_flip_buffer_push(s->port.state->port.tty); + } if ((irq_src & REG_INT_EOF) && (s->port.state->port.tty != NULL)) { @@ -366,7 +368,7 @@ static int bu92747_irda_startup(struct uart_port *port) INIT_WORK(&s->work, bu92747_irda_work); if (request_irq(s->irq, bu92747_irda_irq, - IRQ_TYPE_EDGE_FALLING, "bu92747_irda", s) < 0) { + IRQ_TYPE_LEVEL_LOW, "bu92747_irda", s) < 0) { dev_warn(s->dev, "cannot allocate irq %d\n", s->irq); s->irq = 0; destroy_workqueue(s->workqueue); -- 2.34.1