diff mbox

[1/1] Avoid unresponsive TSC-30 touch screen

Message ID 6B919AC79333344DB0660E3FADEB2165057496DA51FD@BYTECEXCHGSRV.bytecexchg.local (mailing list archive)
State New, archived
Headers show

Commit Message

Bernhard Bender July 23, 2015, 3:01 p.m. UTC
From: Bernhard Bender <bernhard.bender@bytecmed.com>

This patch fixes a problem in the usbtouchscreen driver for DMC TSC-30 touch screen.
Due to a missing delay between the RESET and SET_RATE commands, the touch screen may
become unresponsive during system startup or driver loading.

According to the DMC documentation, a delay is needed after the RESET command to allow
the chip to complete its internal initialization. As this delay is not guaranteed, we
had a system where the touch screen occasionally did not send any touch data. There was
no other indication of the problem.

The patch fixes the problem by adding a 150ms delay between the RESET and SET_RATE commands.

        Signed-off-by: Bernhard Bender <bernhard.bender@bytecmed.com>
        Suggested-by: Jakob Mustafa <jakob.mustafa@bytecmed.com>

---
Bernhard Bender
Entwicklung

Bytec Medizintechnik GmbH
Hermann-Hollerith-Str. 11
52249 Eschweiler, Germany
Tel. +49 (2403) 7829-943
www.bytecmed.com

Handelsregister Aachen: HRB 11222
Ust-ID: DE 121732719
Geschäftsführer: Dipl.-Ing. Paul Willi Coenen





Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender unter info@bytecmed.com und löschen Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.

This message may contain privileged and confidential information intended only for the use of the addressee named above. If you are not the intended recipient of this message you are hereby notified that any use, dissemination, distribution of reproduction of this message is prohibited. If you have received this message in error please notify info@bytecmed.com  immediately.

Comments

Dmitry Torokhov July 23, 2015, 9:03 p.m. UTC | #1
On Thu, Jul 23, 2015 at 05:01:31PM +0200, Bernhard Bender wrote:
> From: Bernhard Bender <bernhard.bender@bytecmed.com>
> 
> This patch fixes a problem in the usbtouchscreen driver for DMC TSC-30 touch screen.
> Due to a missing delay between the RESET and SET_RATE commands, the touch screen may
> become unresponsive during system startup or driver loading.
> 
> According to the DMC documentation, a delay is needed after the RESET command to allow
> the chip to complete its internal initialization. As this delay is not guaranteed, we
> had a system where the touch screen occasionally did not send any touch data. There was
> no other indication of the problem.
> 
> The patch fixes the problem by adding a 150ms delay between the RESET and SET_RATE commands.
> 
>         Signed-off-by: Bernhard Bender <bernhard.bender@bytecmed.com>
>         Suggested-by: Jakob Mustafa <jakob.mustafa@bytecmed.com>

Applied, thank you.

> 
> ---
> Bernhard Bender
> Entwicklung
> 
> Bytec Medizintechnik GmbH
> Hermann-Hollerith-Str. 11
> 52249 Eschweiler, Germany
> Tel. +49 (2403) 7829-943
> www.bytecmed.com
> 
> Handelsregister Aachen: HRB 11222
> Ust-ID: DE 121732719
> Geschäftsführer: Dipl.-Ing. Paul Willi Coenen
> 
> 
> diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
> old mode 100644
> new mode 100755
> index a096633..4ebff01
> --- a/drivers/input/touchscreen/usbtouchscreen.c
> +++ b/drivers/input/touchscreen/usbtouchscreen.c
> @@ -625,6 +625,9 @@ static int dmc_tsc10_init(struct usbtouch_usb *usbtouch)
>                 goto err_out;
>         }
> 
> +    /* TSC-25 data sheet specifies a delay after the RESET command */
> +    msleep(150);
> +
>         /* set coordinate output rate */
>         buf[0] = buf[1] = 0xFF;
>         ret = usb_control_msg(dev, usb_rcvctrlpipe (dev, 0),
> 
> 
> 
> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender unter info@bytecmed.com und löschen Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
> 
> This message may contain privileged and confidential information intended only for the use of the addressee named above. If you are not the intended recipient of this message you are hereby notified that any use, dissemination, distribution of reproduction of this message is prohibited. If you have received this message in error please notify info@bytecmed.com  immediately.
diff mbox

Patch

diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
old mode 100644
new mode 100755
index a096633..4ebff01
--- a/drivers/input/touchscreen/usbtouchscreen.c
+++ b/drivers/input/touchscreen/usbtouchscreen.c
@@ -625,6 +625,9 @@  static int dmc_tsc10_init(struct usbtouch_usb *usbtouch)
                goto err_out;
        }

+    /* TSC-25 data sheet specifies a delay after the RESET command */
+    msleep(150);
+
        /* set coordinate output rate */
        buf[0] = buf[1] = 0xFF;
        ret = usb_control_msg(dev, usb_rcvctrlpipe (dev, 0),