summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2014-09-29 23:23:41 +0400
committerFelipe Balbi <balbi@ti.com>2014-10-21 00:58:49 +0400
commitf3bb7b298120df8a9b7354e4f6d07e3185c15db7 (patch)
tree8cbaff1c898ebe1e18a9987fba575e1baeb81b28 /drivers/usb/gadget
parent703a303c187ef7e3c8daf8a1be343576c9579eaf (diff)
downloadlinux-f3bb7b298120df8a9b7354e4f6d07e3185c15db7.tar.xz
usb: gadget: function: uac2: prevent double ep disable
without this check, f_uac2 would try to disable the same endpoint twice. Fix that. Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/function/f_uac2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/f_uac2.c b/drivers/usb/gadget/function/f_uac2.c
index fa511180c241..1146f4d5f66d 100644
--- a/drivers/usb/gadget/function/f_uac2.c
+++ b/drivers/usb/gadget/function/f_uac2.c
@@ -951,6 +951,9 @@ free_ep(struct uac2_rtd_params *prm, struct usb_ep *ep)
struct snd_uac2_chip *uac2 = prm->uac2;
int i;
+ if (!prm->ep_enabled)
+ return;
+
prm->ep_enabled = false;
for (i = 0; i < USB_XFERS; i++) {