diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2019-12-06 12:51:54 -0800 |
|---|---|---|
| committer | Linux Build Service Account <lnxbuild@localhost> | 2019-12-06 12:51:54 -0800 |
| commit | 33dc678e7692f04ecc1eeddeb1cca8a809bc1727 (patch) | |
| tree | 7ac214cbb1f5256e0738cd6423f01e364b942bd4 /include/linux/usb | |
| parent | feb565e67fc2b2f2a95890577120141be5886594 (diff) | |
| parent | 72078891843ce0d5b8e95040d09ba92913916af9 (diff) | |
Merge 72078891843ce0d5b8e95040d09ba92913916af9 on remote branch
Change-Id: I219a5f0e8bd6ee3be3ba0d49230dde908d35dc25
Diffstat (limited to 'include/linux/usb')
| -rw-r--r-- | include/linux/usb/gadget.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index b661b6e3496b..8874ed16c836 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h @@ -361,6 +361,16 @@ static inline int usb_ep_enable(struct usb_ep *ep) if (ep->enabled) return 0; + /* UDC drivers can't handle endpoints with maxpacket size 0 */ + if (usb_endpoint_maxp(ep->desc) == 0) { + /* + * We should log an error message here, but we can't call + * dev_err() because there's no way to find the gadget + * given only ep. + */ + return -EINVAL; + } + ret = ep->ops->enable(ep, ep->desc); if (ret) return ret; |
