From: Greg Kroah-Hartman Date: Thu, 12 Jan 2017 07:52:34 +0000 (+0100) Subject: 4.9-stable patches X-Git-Tag: v4.4.42~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5959f439a0adca32a11f6cdde84846038368fa4b;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: revert-usb-gadget-composite-always-set-ep-mult-to-a.patch --- diff --git a/queue-4.9/revert-usb-gadget-composite-always-set-ep-mult-to-a.patch b/queue-4.9/revert-usb-gadget-composite-always-set-ep-mult-to-a.patch new file mode 100644 index 00000000000..46cb20d7206 --- /dev/null +++ b/queue-4.9/revert-usb-gadget-composite-always-set-ep-mult-to-a.patch @@ -0,0 +1,55 @@ +From 2f17bb4d410e1d7203f9d1782e2263a46ccf7379 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Thu, 12 Jan 2017 08:51:32 +0100 +Subject: [PATCH] Revert "usb: gadget: composite: always set ep->mult to a + sensible value" + +This reverts commit eab1c4e2d0ad4509ccb8476a604074547dc202e0 which is +commit eaa496ffaaf19591fe471a36cef366146eeb9153 upstream as it was +incorrectly backported. + +Reported-by: Bin Liu +Cc: Felipe Balbi +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/gadget/composite.c | 9 ++------- + drivers/usb/gadget/function/uvc_video.c | 2 +- + 2 files changed, 3 insertions(+), 8 deletions(-) + +--- a/drivers/usb/gadget/composite.c ++++ b/drivers/usb/gadget/composite.c +@@ -201,12 +201,7 @@ ep_found: + _ep->desc = chosen_desc; + _ep->comp_desc = NULL; + _ep->maxburst = 0; +- _ep->mult = 1; +- +- if (g->speed == USB_SPEED_HIGH && (usb_endpoint_xfer_isoc(_ep->desc) || +- usb_endpoint_xfer_int(_ep->desc))) +- _ep->mult = usb_endpoint_maxp(_ep->desc) & 0x7ff; +- ++ _ep->mult = 0; + if (!want_comp_desc) + return 0; + +@@ -223,7 +218,7 @@ ep_found: + switch (usb_endpoint_type(_ep->desc)) { + case USB_ENDPOINT_XFER_ISOC: + /* mult: bits 1:0 of bmAttributes */ +- _ep->mult = (comp_desc->bmAttributes & 0x3) + 1; ++ _ep->mult = comp_desc->bmAttributes & 0x3; + case USB_ENDPOINT_XFER_BULK: + case USB_ENDPOINT_XFER_INT: + _ep->maxburst = comp_desc->bMaxBurst + 1; +--- a/drivers/usb/gadget/function/uvc_video.c ++++ b/drivers/usb/gadget/function/uvc_video.c +@@ -243,7 +243,7 @@ uvc_video_alloc_requests(struct uvc_vide + + req_size = video->ep->maxpacket + * max_t(unsigned int, video->ep->maxburst, 1) +- * (video->ep->mult); ++ * (video->ep->mult + 1); + + for (i = 0; i < UVC_NUM_REQUESTS; ++i) { + video->req_buffer[i] = kmalloc(req_size, GFP_KERNEL); diff --git a/queue-4.9/series b/queue-4.9/series index 4c197597bd6..23fca3d3335 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -205,3 +205,4 @@ xfs-fix-max_retries-_show-and-_store-functions.patch clocksource-dummy_timer-move-hotplug-callback-after-the-real-timers.patch tick-broadcast-prevent-null-pointer-dereference.patch revert-rtlwifi-fix-enter-exit-power_save.patch +revert-usb-gadget-composite-always-set-ep-mult-to-a.patch