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
parent
79589b75db
commit
53585b704e
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue