From patchwork Tue Dec 22 00:23:04 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Morton X-Patchwork-Id: 69207 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id nBM0NCRw025020 for ; Tue, 22 Dec 2009 00:23:42 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752452AbZLVAXl (ORCPT ); Mon, 21 Dec 2009 19:23:41 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752428AbZLVAXl (ORCPT ); Mon, 21 Dec 2009 19:23:41 -0500 Received: from smtp1.linux-foundation.org ([140.211.169.13]:60810 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752430AbZLVAXl (ORCPT ); Mon, 21 Dec 2009 19:23:41 -0500 Received: from imap1.linux-foundation.org (imap1.linux-foundation.org [140.211.169.55]) by smtp1.linux-foundation.org (8.14.2/8.13.5/Debian-3ubuntu1.1) with ESMTP id nBM0N4Qv005522 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 21 Dec 2009 16:23:05 -0800 Received: from localhost.localdomain (localhost [127.0.0.1]) by imap1.linux-foundation.org (8.13.5.20060308/8.13.5/Debian-3ubuntu1.1) with ESMTP id nBM0N4nH005053; Mon, 21 Dec 2009 16:23:04 -0800 Message-Id: <200912220023.nBM0N4nH005053@imap1.linux-foundation.org> Subject: [patch 6/8] usbtouchscreen: fix NEXIO ACK and USB disconnect To: dtor@mail.ru Cc: linux-input@vger.kernel.org, akpm@linux-foundation.org, linux@rainbow-software.org, daniel.ritz@gmx.ch, ddstreet@ieee.org, dmitry.torokhov@gmail.com, floe@butterbrot.org, greg@kroah.com, jim-linux@nurd.se, oliver@neukum.org From: akpm@linux-foundation.org Date: Mon, 21 Dec 2009 16:23:04 -0800 MIME-Version: 1.0 X-Spam-Status: No, hits=-3.515 required=5 tests=AWL, BAYES_00, OSDL_HEADER_SUBJECT_BRACKETED X-Spam-Checker-Version: SpamAssassin 3.2.4-osdl_revision__1.47__ X-MIMEDefang-Filter: lf$Revision: 1.188 $ X-Scanned-By: MIMEDefang 2.63 on 140.211.169.13 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org diff -puN drivers/input/touchscreen/usbtouchscreen.c~usbtouchscreen-fix-nexio-ack-and-usb-disconnect drivers/input/touchscreen/usbtouchscreen.c --- a/drivers/input/touchscreen/usbtouchscreen.c~usbtouchscreen-fix-nexio-ack-and-usb-disconnect +++ a/drivers/input/touchscreen/usbtouchscreen.c @@ -728,6 +728,10 @@ struct nexio_touch_packet { static unsigned char nexio_ack_pkt[2] = { 0xaa, 0x02 }; static unsigned char nexio_init_pkt[4] = { 0x82, 0x04, 0x0a, 0x0f }; +static void nexio_ack_complete(struct urb *urb) +{ +} + static int nexio_init(struct usbtouch_usb *usbtouch) { struct usb_device *dev = interface_to_usbdev(usbtouch->interface); @@ -811,8 +815,8 @@ static int nexio_init(struct usbtouch_us goto err_ack_buf; } usb_fill_bulk_urb(priv->ack, dev, usb_sndbulkpipe(dev, output_ep), - priv->ack_buf, sizeof(priv->ack_buf), NULL, - usbtouch); + priv->ack_buf, sizeof(nexio_ack_pkt), + nexio_ack_complete, usbtouch); ret = 0; goto out_buf; err_ack_buf: @@ -1227,6 +1231,7 @@ static void usbtouch_irq(struct urb *urb case -ECONNRESET: case -ENOENT: case -ESHUTDOWN: + case -EPIPE: /* this urb is terminated, clean up */ dbg("%s - urb shutting down with status: %d", __func__, urb->status);