Commit 04e9d11b authored by YAMANE Toshiaki's avatar YAMANE Toshiaki Committed by Greg Kroah-Hartman

staging/serqt_usb2: refactor qt_open() in serqt_usb2.c

Modified to eliminate the deep nesting.
Signed-off-by: default avatarYAMANE Toshiaki <yamanetoshi@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bbbd527b
......@@ -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)
{
......@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment