From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752131AbcACO2L (ORCPT ); Sun, 3 Jan 2016 09:28:11 -0500 Received: from mail-wm0-f45.google.com ([74.125.82.45]:38662 "EHLO mail-wm0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751881AbcACO1f (ORCPT ); Sun, 3 Jan 2016 09:27:35 -0500 From: Mathieu OTHACEHE To: johan@kernel.org, gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Mathieu OTHACEHE Subject: [PATCH 2/3] USB: mxu11x0: clean device control commands Date: Sun, 3 Jan 2016 15:26:00 +0100 Message-Id: <1451831161-26792-3-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.6.4 In-Reply-To: <1451831161-26792-1-git-send-email-m.othacehe@gmail.com> References: <1451831161-26792-1-git-send-email-m.othacehe@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Sending OPEN and START commands twice is not necessary for this driver. Also send STOP command at close. Signed-off-by: Mathieu OTHACEHE --- drivers/usb/serial/mxu11x0.c | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/drivers/usb/serial/mxu11x0.c b/drivers/usb/serial/mxu11x0.c index 0fe7eab..354fcb5 100644 --- a/drivers/usb/serial/mxu11x0.c +++ b/drivers/usb/serial/mxu11x0.c @@ -823,30 +823,6 @@ static int mxu1_open(struct tty_struct *tty, struct usb_serial_port *port) goto unlink_int_urb; } - /* - * reset the data toggle on the bulk endpoints to work around bug in - * host controllers where things get out of sync some times - */ - usb_clear_halt(serial->dev, port->write_urb->pipe); - usb_clear_halt(serial->dev, port->read_urb->pipe); - - if (tty) - mxu1_set_termios(tty, port, NULL); - - status = mxu1_send_ctrl_urb(serial, MXU1_OPEN_PORT, - open_settings, MXU1_UART1_PORT); - if (status) { - dev_err(&port->dev, "cannot send open command: %d\n", status); - goto unlink_int_urb; - } - - status = mxu1_send_ctrl_urb(serial, MXU1_START_PORT, - 0, MXU1_UART1_PORT); - if (status) { - dev_err(&port->dev, "cannot send start command: %d\n", status); - goto unlink_int_urb; - } - status = usb_serial_generic_open(tty, port); if (status) goto unlink_int_urb; @@ -866,6 +842,13 @@ static void mxu1_close(struct usb_serial_port *port) usb_serial_generic_close(port); usb_kill_urb(port->interrupt_in_urb); + status = mxu1_send_ctrl_urb(port->serial, MXU1_STOP_PORT, + 0, MXU1_UART1_PORT); + if (status) { + dev_err(&port->dev, "failed to send stop port command: %d\n", + status); + } + status = mxu1_send_ctrl_urb(port->serial, MXU1_CLOSE_PORT, 0, MXU1_UART1_PORT); if (status) { -- 2.6.2