On Fri, Aug 07, 2009 at 03:04:46PM +0200, Marek Vasut wrote: > Dne Pá 7. srpna 2009 14:59:52 Pavel Revak napsal(a): > > Hi, > > > > Sometimes, when I using the touchscreen, it stops working till next restart > > and I see the following message: > > "ucb1400: unexpected IE_STATUS = 0x0" > > > > The following patch retriggers the touchscreen interrupt unconditionally. > > This prevents hanging of the touchscreen in case of bogus interrupt > > occurence. > > > > Signed-off-by: Pavel Revak <palo@xxxxxxxxxxx> > > --- > > diff --git a/drivers/input/touchscreen/ucb1400_ts.c > > b/drivers/input/touchscreen/ucb1400_ts.c > > index 5498662..6752de5 100644 > > --- a/drivers/input/touchscreen/ucb1400_ts.c > > +++ b/drivers/input/touchscreen/ucb1400_ts.c > > @@ -168,11 +168,11 @@ static void ucb1400_handle_pending_irq(struct > > ucb1400_ts *ucb) > > ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, isr); > > ucb1400_reg_write(ucb->ac97, UCB_IE_CLEAR, 0); > > > > - if (isr & UCB_IE_TSPX) { > > + if (isr & UCB_IE_TSPX) > > ucb1400_ts_irq_disable(ucb->ac97); > > - enable_irq(ucb->irq); > > - } else > > - printk(KERN_ERR "ucb1400: unexpected IE_STATUS = %#x\n", > > isr); > > + else > > + dev_dbg(&ucb->ts_idev->dev, "ucb1400: unexpected IE_STATUS > > = %#x\n", isr); > > + enable_irq(ucb->irq); > > } > > > > static int ucb1400_ts_thread(void *_ucb) > > Hi! > > looks OK to me, it's a bug that was introduced in the spliting process last > year by me it seems. > > Acked-by: Marek Vasut <marek.vasut@xxxxxxxxx> > > Dmitry, can we get this in before .32? Thanks! It would be helpful if I could locate the original patch, fishing it from quoted text is not pleasant. Also, do we really need to fiddle with enabling/disabling interrupt at all? It seems to be edge-triggered... -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html