Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1379082
| From | Tal Shorer <tal.shorer@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 1/1] usb: musb: gadget: nuke endpoint before setting its descriptor to NULL |
| Date | 2016-04-14 18:40 +0200 |
| Message-ID | <rnStd-4TB-33@gated-at.bofh.it> (permalink) |
| References | <rnStc-4TB-27@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Some functions, such as f_sourcesink, rely on an endpoint's desc field during their requests' complete() callback, so clear it only _after_ nuking all requests to avoid NULL pointer dereference. Signed-off-by: Tal Shorer <tal.shorer@gmail.com> --- drivers/usb/musb/musb_gadget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c index 87bd578..152865b 100644 --- a/drivers/usb/musb/musb_gadget.c +++ b/drivers/usb/musb/musb_gadget.c @@ -1164,12 +1164,12 @@ static int musb_gadget_disable(struct usb_ep *ep) musb_writew(epio, MUSB_RXMAXP, 0); } - musb_ep->desc = NULL; - musb_ep->end_point.desc = NULL; - /* abort all pending DMA and requests */ nuke(musb_ep, -ESHUTDOWN); + musb_ep->desc = NULL; + musb_ep->end_point.desc = NULL; + schedule_work(&musb->irq_work); spin_unlock_irqrestore(&(musb->lock), flags); -- 2.5.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/1] usb: musb: nuke endpoint before setting its descriptor to NULL Tal Shorer <tal.shorer@gmail.com> - 2016-04-14 18:40 +0200
[PATCH 1/1] usb: musb: gadget: nuke endpoint before setting its descriptor to NULL Tal Shorer <tal.shorer@gmail.com> - 2016-04-14 18:40 +0200
Re: [PATCH 1/1] usb: musb: gadget: nuke endpoint before setting its descriptor to NULL Bin Liu <b-liu@ti.com> - 2016-04-15 15:30 +0200
csiph-web