diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-04-05 10:04:41 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-04-05 10:04:41 +0300 |
commit | 3004fcba01b4adb3d2ff48c7eead8763fb837556 (patch) | |
tree | a59ab2b6ae38ecc6eb8b6f34035ef51226db597e /drivers/usb | |
parent | e49d033bddf5b565044e2abe4241353959bc9120 (diff) | |
parent | cf97d7af246831ea23c216f17205f91319afc85f (diff) | |
download | linux-3004fcba01b4adb3d2ff48c7eead8763fb837556.tar.xz |
Merge tag 'v5.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-linus
Peter writes:
Fixes one issue with dequeuing requests after disabling endpoint for cdnsp udc driver
* tag 'v5.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb:
usb: cdnsp: Fixes issue with dequeuing requests after disabling endpoint
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/cdns3/cdnsp-gadget.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/cdns3/cdnsp-gadget.c b/drivers/usb/cdns3/cdnsp-gadget.c index f2ebbacd932e..d7d4bdd57f46 100644 --- a/drivers/usb/cdns3/cdnsp-gadget.c +++ b/drivers/usb/cdns3/cdnsp-gadget.c @@ -1128,6 +1128,10 @@ static int cdnsp_gadget_ep_dequeue(struct usb_ep *ep, return -ESHUTDOWN; } + /* Requests has been dequeued during disabling endpoint. */ + if (!(pep->ep_state & EP_ENABLED)) + return 0; + spin_lock_irqsave(&pdev->lock, flags); ret = cdnsp_ep_dequeue(pep, to_cdnsp_request(request)); spin_unlock_irqrestore(&pdev->lock, flags); |