]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: cdnsp: Fixes issue with dequeuing not queued requests
authorPawel Laszczak <pawell@cadence.com>
Thu, 13 Jul 2023 08:14:29 +0000 (04:14 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Oct 2023 21:05:37 +0000 (23:05 +0200)
commit 34f08eb0ba6e4869bbfb682bf3d7d0494ffd2f87 upstream.

Gadget ACM while unloading module try to dequeue not queued usb
request which causes the kernel to crash.
Patch adds extra condition to check whether usb request is processed
by CDNSP driver.

cc: stable@vger.kernel.org
Fixes: 3d82904559f4 ("usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver")
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Acked-by: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/20230713081429.326660-1-pawell@cadence.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/cdns3/cdnsp-gadget.c

index 068ccbd144b24d6e4126cce640feb5b8a3e91ca3..d9fb29eb99db12fb950330f0c304da8d24d52a3d 100644 (file)
@@ -1125,6 +1125,9 @@ static int cdnsp_gadget_ep_dequeue(struct usb_ep *ep,
        unsigned long flags;
        int ret;
 
+       if (request->status != -EINPROGRESS)
+               return 0;
+
        if (!pep->endpoint.desc) {
                dev_err(pdev->dev,
                        "%s: can't dequeue to disabled endpoint\n",