diff options
author | Guido Kiener <guido.kiener@rohde-schwarz.com> | 2019-02-04 19:04:20 +0100 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2019-02-06 07:40:09 +0100 |
commit | 836bcab50624d728abeab3766f356d54c48ea1b1 (patch) | |
tree | a9ace50ed187bc12fbd974e837bfb887594b9f55 /drivers/usb/dwc2/gadget.c | |
parent | USB: gadget: Improve kerneldoc for usb_ep_dequeue() (diff) | |
download | linux-836bcab50624d728abeab3766f356d54c48ea1b1.tar.xz linux-836bcab50624d728abeab3766f356d54c48ea1b1.zip |
udc: net2280: Fix net2280_disable
A reset e.g. calling ep_reset_338x() can happen while endpoints
are enabled. The ep_reset_338x() sets ep->desc = NULL to mark
endpoint being invalid. A subsequent call of net2280_disable will
fail and return -EINVAL to parent function usb_ep_disable(),
which will fail, too, and do not set the member ep->enabled = false.
See:
https://elixir.bootlin.com/linux/v5.0-rc5/source/drivers/usb/gadget/udc/core.c#L139
This fix ignores dp->desc and allows net2280_disable() to succeed.
Subsequent calls to usb_ep_enable()/usb_ep_disable() succeeds.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Guido Kiener <guido.kiener@rohde-schwarz.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb/dwc2/gadget.c')
0 files changed, 0 insertions, 0 deletions