From: Benjamin Herrenschmidt Date: Fri, 12 Jan 2018 06:50:02 +0000 (+1100) Subject: usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc() X-Git-Tag: v4.9.80~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=57d4bb1beecb1b34237ddc8a08e819a0da4243b1;p=platform%2Fkernel%2Flinux-amlogic.git usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc() commit 11fb37998759c48e4e4c200c974593cbeab25d3e upstream. The current code tries to test for bits that are masked out by usb_endpoint_maxp(). Instead, use the proper accessor to access the new high bandwidth bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c index d685d82dcf48..e97539fc127e 100644 --- a/drivers/usb/gadget/udc/core.c +++ b/drivers/usb/gadget/udc/core.c @@ -913,7 +913,7 @@ int usb_gadget_ep_match_desc(struct usb_gadget *gadget, return 0; /* "high bandwidth" works only at high speed */ - if (!gadget_is_dualspeed(gadget) && usb_endpoint_maxp(desc) & (3<<11)) + if (!gadget_is_dualspeed(gadget) && usb_endpoint_maxp_mult(desc) > 1) return 0; switch (type) {