Re: [PATCH] UCB1400: enable touchscreen interrupt unconditionally

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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!
--
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

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux