aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/pch_udc.c
diff options
context:
space:
mode:
authorIdo Shayevitz <idos@codeaurora.org>2012-02-08 13:56:48 +0200
committerFelipe Balbi <balbi@ti.com>2012-02-24 12:22:38 +0200
commitf9c56cdd3905c96c600456203637bd7ec8ec6383 (patch)
treecfa0cd39d0798a0c3e4b57bf2ce3e9e75922c769 /drivers/usb/gadget/pch_udc.c
parentusb: at91_udc: linux/prefetch.h included twice (diff)
downloadlinux-dev-f9c56cdd3905c96c600456203637bd7ec8ec6383.tar.xz
linux-dev-f9c56cdd3905c96c600456203637bd7ec8ec6383.zip
usb: gadget: Clear usb_endpoint_descriptor inside the struct usb_ep on disable
This fix a bug in f_serial, which expect the ep->desc to be NULL after disabling an endpoint. Cc: stable@vger.kernel.org Signed-off-by: Ido Shayevitz <idos@codeaurora.org> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget/pch_udc.c')
-rw-r--r--drivers/usb/gadget/pch_udc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/gadget/pch_udc.c b/drivers/usb/gadget/pch_udc.c
index a992084d3890..350dbcd90681 100644
--- a/drivers/usb/gadget/pch_udc.c
+++ b/drivers/usb/gadget/pch_udc.c
@@ -1742,6 +1742,7 @@ static int pch_udc_pcd_ep_disable(struct usb_ep *usbep)
pch_udc_ep_disable(ep);
pch_udc_disable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num));
ep->desc = NULL;
+ ep->ep.desc = NULL;
INIT_LIST_HEAD(&ep->queue);
spin_unlock_irqrestore(&ep->dev->lock, iflags);
return 0;