linux/drivers/usb/gadget/function
Michael Grzeschik 52a39f2cf6 usb: gadget: uvc: cleanup request when not in correct state
The uvc_video_enable function of the uvc-gadget driver is dequeing and
immediately deallocs all requests on its disable codepath. This is not
save since the dequeue function is async and does not ensure that the
requests are left unlinked in the controller driver.

By adding the ep_free_request into the completion path of the requests
we ensure that the request will be properly deallocated.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20230911140530.2995138-3-m.grzeschik@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-02 13:58:35 +02:00
..
f_acm.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_ecm.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_eem.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_fs.c usb: convert to ctime accessor functions 2023-07-13 10:28:03 +02:00
f_hid.c USB: gadget: f_hid: make hidg_class a static const structure 2023-06-20 16:20:48 +02:00
f_loopback.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_mass_storage.c USB: gadget: f_mass_storage: Fix unused variable warning 2023-08-12 10:06:12 +02:00
f_mass_storage.h
f_midi.c usb: gadget: unconditionally allocate hs/ss descriptor in bind operation 2023-08-22 14:48:33 +02:00
f_midi2.c usb: gadget: unconditionally allocate hs/ss descriptor in bind operation 2023-08-22 14:48:33 +02:00
f_ncm.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_obex.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_phonet.c usb: gadget: f_phonet: Use struct_size() helper in kzalloc() 2022-01-26 14:01:28 +01:00
f_printer.c USB: gadget: f_printer: make usb_gadget_class a static const structure 2023-06-20 16:20:47 +02:00
f_rndis.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_serial.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_sourcesink.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_subset.c usb: gadget: remove max support speed info in bind operation 2023-08-22 14:48:33 +02:00
f_tcm.c Merge patch series "target: TMF and recovery fixes" 2023-03-24 17:39:15 -04:00
f_uac1_legacy.c usb: gadget: function: fix missing spinlock in f_uac1_legacy 2020-07-09 10:13:07 +03:00
f_uac1.c usb: gadget: f_uac1: allow changing interface name via configfs 2022-01-26 14:10:40 +01:00
f_uac2.c usb: gadget: f_uac2: Fix incorrect increment of bNumEndpoints 2023-01-25 16:17:46 +01:00
f_uvc.c usb: gadget: unconditionally allocate hs/ss descriptor in bind operation 2023-08-22 14:48:33 +02:00
f_uvc.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
g_zero.h
Makefile usb: gadget: Add support for USB MIDI 2.0 function driver 2023-07-26 06:38:14 +02:00
ndis.h
rndis.c usb: gadget: function: rndis: limit # of RNDIS instances to 1000 2022-08-31 09:07:52 +02:00
rndis.h usb: gadget: rndis: add spinlock for rndis response list 2022-02-24 11:16:57 +01:00
storage_common.c usb: gadget: Use kstrtobool() instead of strtobool() 2022-11-03 23:46:01 +09:00
storage_common.h usb: gadget: f_mass_storage: forced_eject attribute 2022-07-14 16:06:42 +02:00
tcm.h
u_audio.c usb: gadget: u_audio: don't let userspace block driver unbind 2023-03-09 14:56:32 +01:00
u_audio.h usb: gadget: u_audio: Add suspend call 2022-01-26 14:06:09 +01:00
u_ecm.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_eem.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_ether_configfs.h USB: gadget: u_ether: Fix a configfs return code 2021-03-10 09:36:12 +01:00
u_ether.c usb: gadget: use working speed to calcaulate network bitrate and qlen 2023-08-22 14:48:33 +02:00
u_ether.h usb: gadget: add a inline function gether_bitrate() 2023-08-22 14:48:33 +02:00
u_fs.h usb: gadget: ffs: remove ENTER() macro 2023-03-29 08:55:58 +02:00
u_gether.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_hid.h usb: gadget: f_hid: optional SETUP/SET_REPORT mode 2021-08-24 15:41:08 +02:00
u_midi.h usb: gadget: function: Fix inconsistent indent 2021-05-10 11:16:10 +02:00
u_midi2.h usb: gadget: midi2: More flexible MIDI 1.0 configuration 2023-07-26 06:38:14 +02:00
u_ncm.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_phonet.h usb: gadget: function: Remove unused declarations 2023-08-22 14:45:29 +02:00
u_printer.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_rndis.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_serial.c tty: make tty_operations::write()'s count size_t 2023-08-11 21:12:46 +02:00
u_serial.h usb: gadget: function: Remove unused declarations 2023-08-22 14:45:29 +02:00
u_tcm.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_uac1_legacy.c usb: gadget: Replace runtime->status->state reference to runtime->state 2022-09-27 08:49:52 +02:00
u_uac1_legacy.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
u_uac1.h usb: gadget: f_uac1: allow changing interface name via configfs 2022-01-26 14:10:40 +01:00
u_uac2.h usb: gadget: f_uac2: Optionally determine bInterval for HS and SS 2022-01-31 14:26:18 +01:00
u_uvc.h usb: gadget: uvc: Allow linking function to string descs 2023-02-07 08:46:37 +01:00
uac_common.h usb: gadget: u_audio: Support multiple sampling rates 2022-01-26 14:06:08 +01:00
uvc_configfs.c usb: gadget: uvc: Make bmControls attr read/write 2023-03-29 08:51:26 +02:00
uvc_configfs.h usb: gadget: uvc: Allow linking XUs to string descriptors 2023-02-07 08:46:37 +01:00
uvc_queue.c Revert "usb: gadget: uvc: limit isoc_sg to super speed gadgets" 2022-10-26 14:09:06 +02:00
uvc_queue.h usb: gadget: uvc: rework uvcg_queue_next_buffer to uvcg_complete_buffer 2022-04-21 18:15:33 +02:00
uvc_v4l2.c usb: uvc: use v4l2_fill_fmtdesc instead of open coded format name 2023-01-31 09:40:43 +01:00
uvc_v4l2.h USB: gadget: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
uvc_video.c usb: gadget: uvc: cleanup request when not in correct state 2023-10-02 13:58:35 +02:00
uvc_video.h usb: gadget: uvc: consistently use define for headerlen 2021-10-21 12:53:31 +02:00
uvc.h usb: gadget: function: Remove unused declarations 2023-08-22 14:45:29 +02:00