1
0
Fork 0

MLK-18609-7 usb: cdns3: gadget: only unmap buffer for demand request

We only unmap the request which is demanded from the gadget driver.

Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
pull/10/head
Peter Chen 2018-06-29 10:10:24 +08:00 committed by Jason Liu
parent 79589b75db
commit 53585b704e
1 changed files with 3 additions and 3 deletions

View File

@ -1870,9 +1870,6 @@ static int usb_ss_gadget_ep_dequeue(struct usb_ep *ep,
spin_lock_irqsave(&usb_ss->lock, flags);
dev_dbg(&usb_ss->dev, "DEQUEUE(%02X) %d\n",
ep->address, request->length);
usb_gadget_unmap_request_by_dev(usb_ss->sysdev, request,
ep->address & USB_DIR_IN);
request->status = -ECONNRESET;
select_ep(usb_ss, ep->desc->bEndpointAddress);
if (usb_ss->start_gadget)
@ -1881,6 +1878,9 @@ static int usb_ss_gadget_ep_dequeue(struct usb_ep *ep,
list_for_each_entry_safe(req, req_temp,
&usb_ss_ep->request_list, list) {
if (request == req) {
request->status = -ECONNRESET;
usb_gadget_unmap_request_by_dev(usb_ss->sysdev, request,
ep->address & USB_DIR_IN);
list_del_init(&request->list);
if (request->complete) {
spin_unlock(&usb_ss->lock);