This is a note to let you know that I've just added the patch titled Revert "usb: gadget: uvc: limit isoc_sg to super speed gadgets" to the 6.0-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: revert-usb-gadget-uvc-limit-isoc_sg-to-super-speed-gadgets.patch and it can be found in the queue-6.0 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 88c8e05ed5c0f05a637e654bbe4e49a1ebe7013c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed, 26 Oct 2022 14:09:06 +0200 Subject: Revert "usb: gadget: uvc: limit isoc_sg to super speed gadgets" From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88c8e05ed5c0f05a637e654bbe4e49a1ebe7013c upstream. This reverts commit 19905240aef0181d1e6944070eb85fce75f75bcd. It was a new feature, and it doesn't even work properly yet, so revert it from this branch as it is not needed for 6.1-final. Cc: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Fixes: 19905240aef0 ("usb: gadget: uvc: limit isoc_sg to super speed gadgets") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/usb/gadget/function/uvc_queue.c | 9 ++++++--- drivers/usb/gadget/function/uvc_video.c | 9 ++------- 2 files changed, 8 insertions(+), 10 deletions(-) --- a/drivers/usb/gadget/function/uvc_queue.c +++ b/drivers/usb/gadget/function/uvc_queue.c @@ -84,9 +84,12 @@ static int uvc_buffer_prepare(struct vb2 return -ENODEV; buf->state = UVC_BUF_STATE_QUEUED; - buf->sgt = vb2_dma_sg_plane_desc(vb, 0); - buf->sg = buf->sgt->sgl; - buf->mem = vb2_plane_vaddr(vb, 0); + if (queue->use_sg) { + buf->sgt = vb2_dma_sg_plane_desc(vb, 0); + buf->sg = buf->sgt->sgl; + } else { + buf->mem = vb2_plane_vaddr(vb, 0); + } buf->length = vb2_plane_size(vb, 0); if (vb->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) buf->bytesused = 0; --- a/drivers/usb/gadget/function/uvc_video.c +++ b/drivers/usb/gadget/function/uvc_video.c @@ -448,9 +448,6 @@ static void uvcg_video_pump(struct work_ */ int uvcg_video_enable(struct uvc_video *video, int enable) { - struct uvc_device *uvc = video->uvc; - struct usb_composite_dev *cdev = uvc->func.config->cdev; - struct usb_gadget *gadget = cdev->gadget; unsigned int i; int ret; @@ -482,11 +479,9 @@ int uvcg_video_enable(struct uvc_video * if (video->max_payload_size) { video->encode = uvc_video_encode_bulk; video->payload_size = 0; - } else { - video->encode = (video->queue.use_sg && - !(gadget->speed <= USB_SPEED_HIGH)) ? + } else + video->encode = video->queue.use_sg ? uvc_video_encode_isoc_sg : uvc_video_encode_isoc; - } video->req_int_count = 0; Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are queue-6.0/usb-dwc3-don-t-switch-otg-peripheral-if-extcon-is-present.patch queue-6.0/squashfs-fix-extending-readahead-beyond-end-of-file.patch queue-6.0/mtd-rawnand-tegra-fix-pm-disable-depth-imbalance-in-probe.patch queue-6.0/usb-add-reset_resume-quirk-for-nvidia-jetson-devices-in-rcm.patch queue-6.0/can-j1939-transport-j1939_session_skb_drop_old-spin_unlock_irqrestore-before-kfree_skb.patch queue-6.0/usb-dwc3-st-rely-on-child-s-compatible-instead-of-name.patch queue-6.0/usb-xhci-add-xhci_spurious_success-to-asm1042-despite-being-a-v0.96-controller.patch queue-6.0/revert-usb-gadget-uvc-limit-isoc_sg-to-super-speed-gadgets.patch queue-6.0/alsa-emu10k1-use-snd_ctl_rename-to-rename-a-control.patch queue-6.0/alsa-ca0106-use-snd_ctl_rename-to-rename-a-control.patch queue-6.0/squashfs-fix-read-regression-introduced-in-readahead-code.patch queue-6.0/alsa-au88x0-use-explicitly-signed-char.patch queue-6.0/alsa-hda-realtek-use-snd_ctl_rename-to-rename-a-control.patch queue-6.0/can-rcar_canfd-fix-channel-specific-irq-handling-for-rz-g2l.patch queue-6.0/alsa-ac97-use-snd_ctl_rename-to-rename-a-control.patch queue-6.0/usb-dwc3-gadget-don-t-delay-end-transfer-on-delayed_status.patch queue-6.0/alsa-usb-audio-add-quirks-for-m-audio-fast-track-c400-600.patch queue-6.0/squashfs-fix-buffer-release-race-condition-in-readahead-code.patch queue-6.0/can-kvaser_usb-fix-possible-completions-during-init_completion.patch queue-6.0/can-rcar_canfd-rcar_canfd_handle_global_receive-fix-irq-storm-on-global-fifo-receive.patch queue-6.0/alsa-usb-audio-use-snd_ctl_rename-to-rename-a-control.patch queue-6.0/usb-gadget-aspeed-fix-probe-regression.patch queue-6.0/usb-dwc3-gadget-don-t-set-imi-for-no_interrupt.patch queue-6.0/usb-gadget-uvc-limit-isoc_sg-to-super-speed-gadgets.patch queue-6.0/usb-gadget-uvc-fix-dropped-frame-after-missed-isoc.patch queue-6.0/mtd-rawnand-marvell-use-correct-logic-for-nand-keep-config.patch queue-6.0/usb-dwc3-gadget-force-sending-delayed-status-during-soft-disconnect.patch queue-6.0/alsa-rme9652-use-explicitly-signed-char.patch queue-6.0/mtd-spi-nor-core-ignore-enotsupp-in-spi_nor_init.patch queue-6.0/usb-typec-ucsi-acpi-implement-resume-callback.patch queue-6.0/usb-typec-ucsi-check-the-connection-on-resume.patch queue-6.0/alsa-hda-realtek-add-another-hp-zbook-g9-model-quirks.patch queue-6.0/alsa-use-del_timer_sync-before-freeing-timer.patch queue-6.0/platform-x86-amd-pmc-remove-config_debug_fs-checks.patch queue-6.0/usb-dwc3-gadget-stop-processing-more-requests-on-imi.patch queue-6.0/usb-gadget-uvc-fix-sg-handling-during-video-encode.patch queue-6.0/alsa-hda-realtek-add-quirk-for-asus-zenbook-using-cs35l41.patch queue-6.0/mtd-parsers-bcm47xxpart-fix-halfblock-reads.patch queue-6.0/usb-bdc-change-state-when-port-disconnected.patch queue-6.0/usb-gadget-uvc-fix-sg-handling-in-error-case.patch queue-6.0/alsa-control-add-snd_ctl_rename.patch