Skip to content

Commit

Permalink
staging/serqt_usb2: refactor qt_open() in serqt_usb2.c
Browse files Browse the repository at this point in the history
Modified to eliminate the deep nesting.

Signed-off-by: YAMANE Toshiaki <yamanetoshi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
YAMANE Toshiaki authored and Greg Kroah-Hartman committed Nov 13, 2012
1 parent bbbd527 commit 04e9d11
Showing 1 changed file with 27 additions and 24 deletions.
51 changes: 27 additions & 24 deletions drivers/staging/serqt_usb2/serqt_usb2.c
Original file line number Diff line number Diff line change
Expand Up @@ -840,6 +840,31 @@ static void qt_release(struct usb_serial *serial)

}

static void qt_submit_urb_from_open(struct usb_serial *serial,
struct usb_serial_port *port)
{
int result;
struct usb_serial_port *port0 = serial->port[0];

/* set up interrupt urb */
usb_fill_int_urb(port0->interrupt_in_urb,
serial->dev,
usb_rcvintpipe(serial->dev,
port0->interrupt_in_endpointAddress),
port0->interrupt_in_buffer,
port0->interrupt_in_urb->transfer_buffer_length,
qt_interrupt_callback, serial,
port0->interrupt_in_urb->interval);

result = usb_submit_urb(port0->interrupt_in_urb,
GFP_KERNEL);
if (result) {
dev_err(&port->dev,
"%s - Error %d submitting interrupt urb\n",
__func__, result);
}
}

static int qt_open(struct tty_struct *tty,
struct usb_serial_port *port)
{
Expand Down Expand Up @@ -900,30 +925,8 @@ static int qt_open(struct tty_struct *tty,

/* Check to see if we've set up our endpoint info yet */
if (port0->open_ports == 1) {
if (serial->port[0]->interrupt_in_buffer == NULL) {
/* set up interrupt urb */
usb_fill_int_urb(serial->port[0]->interrupt_in_urb,
serial->dev,
usb_rcvintpipe(serial->dev,
serial->port[0]->interrupt_in_endpointAddress),
serial->port[0]->interrupt_in_buffer,
serial->port[0]->
interrupt_in_urb->transfer_buffer_length,
qt_interrupt_callback, serial,
serial->port[0]->
interrupt_in_urb->interval);

result =
usb_submit_urb(serial->port[0]->interrupt_in_urb,
GFP_KERNEL);
if (result) {
dev_err(&port->dev,
"%s - Error %d submitting "
"interrupt urb\n", __func__, result);
}

}

if (serial->port[0]->interrupt_in_buffer == NULL)
qt_submit_urb_from_open(serial, port);
}

dev_dbg(&port->dev, "port number is %d\n", port->number);
Expand Down

0 comments on commit 04e9d11

Please sign in to comment.