Commit f8e66022 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: gadget: u_serial: Rectify the list operations is rx/tx path"

parents ec0dace9 fb8bceab
......@@ -281,6 +281,7 @@ __acquires(&port->port_lock)
break;
}
list_move_tail(&req->list, &port->queued_write_pool);
port->write_started++;
/* abort immediately after disconnect */
......@@ -319,7 +320,6 @@ __acquires(&port->port_lock)
break;
req = list_entry(pool->next, struct usb_request, list);
list_move_tail(&req->list, &port->queued_read_pool);
req->length = out->maxpacket;
/* drop lock while we call out; the controller driver
......@@ -335,6 +335,7 @@ __acquires(&port->port_lock)
list_add(&req->list, pool);
break;
}
list_move_tail(&req->list, &port->queued_read_pool);
port->read_started++;
/* abort immediately after disconnect */
......@@ -453,7 +454,7 @@ static void gs_read_complete(struct usb_ep *ep, struct usb_request *req)
/* Queue all received data until the tty layer is ready for it. */
spin_lock(&port->port_lock);
list_add_tail(&req->list, &port->read_queue);
list_move_tail(&req->list, &port->read_queue);
schedule_delayed_work(&port->push, 0);
spin_unlock(&port->port_lock);
}
......@@ -463,7 +464,7 @@ static void gs_write_complete(struct usb_ep *ep, struct usb_request *req)
struct gs_port *port = ep->driver_data;
spin_lock(&port->port_lock);
list_add(&req->list, &port->write_pool);
list_move_tail(&req->list, &port->write_pool);
port->write_started--;
switch (req->status) {
......
Supports Markdown
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