linux/drivers/usb/gadget
Alexey Khoroshilov 3898115896 usb-gadget: unlock data->lock mutex on error path in ep_write()
ep_write() acquires data->lock mutex in get_ready_ep() and releases it
on all paths except for one: when usb_endpoint_xfer_isoc() failed. The
patch adds mutex_unlock(&data->lock) at that path.

It is similar to commit 00cc7a5 ("usb-gadget: unlock data->lock mutex on error path in ep_read()"),
it was not fixed at that time by accident.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-06-06 15:59:40 -07:00
..
amd5536udc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
amd5536udc.h Fix common misspellings 2011-03-31 11:26:23 -03:00
at91_udc.c usb/gadget: at91sam9g20 fix end point max packet size 2011-05-13 15:51:08 -07:00
at91_udc.h
atmel_usba_udc.c Haavard Skinnemoen has left Atmel 2011-05-18 23:24:50 +02:00
atmel_usba_udc.h
audio.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
cdc2.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
ci13xxx_msm.c USB: gadget: Implement runtime PM for MSM bus glue driver 2010-12-10 14:23:34 -08:00
ci13xxx_pci.c USB: gadget: Introduce ci13xxx_udc_driver struct 2010-12-10 14:23:33 -08:00
ci13xxx_udc.c USB: OTG: msm: Implement charger detection 2011-05-06 18:27:48 -07:00
ci13xxx_udc.h USB: gadget: Add test mode support for ci13xxx_udc 2011-02-25 11:33:57 -08:00
composite.c usb: gadget: composite: Allow function drivers to pause control transfers 2011-05-10 14:14:57 -07:00
config.c
dbgp.c USB: dbpg gadget: dont mask out direction bit 2011-04-29 17:24:30 -07:00
dummy_hcd.c usb/dummy_hcd: don't probe for udc if hcd failed 2011-04-29 17:24:36 -07:00
epautoconf.c USB: Gadget: Initialize wMaxPacketSize if not already set 2011-02-04 11:42:52 -08:00
ether.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_acm.c USB: Change acm_iad_descriptor bFunctionProtocol to USB_CDC_ACM_PROTO_AT_V25TER 2010-10-22 10:21:35 -07:00
f_audio.c USB: gadget: f_audio: Fix invalid dereference of initdata 2011-05-17 11:20:24 -07:00
f_ecm.c
f_eem.c usb: gadget: eem: fix echo command processing 2011-04-13 15:44:01 -07:00
f_fs.c USB: gadget: f_fs: even zero-length packets require a buffer 2011-02-04 11:57:22 -08:00
f_hid.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
f_loopback.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_mass_storage.c usb: gadget: Remove the LUN checks which are always true 2011-05-10 14:14:59 -07:00
f_ncm.c Fix common misspellings 2011-03-31 11:26:23 -03:00
f_obex.c
f_phonet.c f_phonet: avoid pskb_pull(), fix OOPS with CONFIG_HIGHMEM 2011-02-28 12:36:39 -08:00
f_rndis.c usb: gadget: rndis: don't test against req->length 2011-05-13 15:51:09 -07:00
f_serial.c
f_sourcesink.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_subset.c
f_uvc.c
f_uvc.h
file_storage.c usb: gadget: Remove the LUN checks which are always true 2011-05-10 14:14:59 -07:00
fsl_mxc_udc.c usb: gadget/fsl_mxc_udc: Detect the CPU type in run-time 2011-02-04 11:42:52 -08:00
fsl_qe_udc.c drivercore: revert addition of of_match to struct device 2011-05-18 12:32:23 -06:00
fsl_qe_udc.h usb: fix a typo in a comment 2011-04-13 16:41:00 -07:00
fsl_udc_core.c fsl/usb: Unused endpoint failure for USB gadget 2011-05-06 18:19:39 -07:00
fsl_usb2_udc.h USB: extend ehci-fsl and fsl_udc_core driver for OTG operation 2011-05-02 16:59:38 -07:00
fusb300_udc.c usb: fusb300_udc: add more "ep%d" names 2011-02-17 10:47:55 -08:00
fusb300_udc.h usb: udc: add Faraday fusb300 driver 2011-01-22 19:45:36 -08:00
g_ffs.c usb: gadget: g_fs: Fix compilation warning 2010-11-17 13:24:46 -08:00
g_zero.h
gadget_chips.h USB: Gadget: Add Samsung S3C24XX USB High-Speed controller driver 2011-05-10 14:16:55 -07:00
gmidi.c Fix common misspellings 2011-03-31 11:26:23 -03:00
goku_udc.c sanitize <linux/prefetch.h> usage 2011-05-20 12:50:29 -07:00
goku_udc.h usb: gadget: goku_udc: add registered flag bit, fixing build 2010-11-11 06:57:24 -08:00
hid.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
imx_udc.c sanitize <linux/prefetch.h> usage 2011-05-20 12:50:29 -07:00
imx_udc.h usb: gadget/imx-udc: remove usage of deprecated symbol USBD_INT0 2010-11-11 05:51:15 -08:00
inode.c usb-gadget: unlock data->lock mutex on error path in ep_write() 2011-06-06 15:59:40 -07:00
Kconfig USB: Gadget: Add Samsung S3C24XX USB High-Speed controller driver 2011-05-10 14:16:55 -07:00
langwell_udc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
langwell_udc.h USB: langwell: USB Client driver memory handling 2010-10-22 10:21:19 -07:00
m66592-udc.c usb: m66592-udc: Fixed bufnum of Bulk 2011-02-25 11:33:00 -08:00
m66592-udc.h
Makefile USB: Gadget: Add Samsung S3C24XX USB High-Speed controller driver 2011-05-10 14:16:55 -07:00
mass_storage.c USB: gadget: f_mass_storage: code style clean ups 2010-11-11 05:58:49 -08:00
multi.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
mv_udc_core.c Fix common misspellings 2011-03-31 11:26:23 -03:00
mv_udc_phy.c USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
mv_udc.h USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
ncm.c usb: gadget: g_ncm added 2010-12-10 14:29:43 -08:00
ndis.h
net2280.c Fix common misspellings 2011-03-31 11:26:23 -03:00
net2280.h
nokia.c Fix common misspellings 2011-03-31 11:26:23 -03:00
omap_udc.c sanitize <linux/prefetch.h> usage 2011-05-20 12:50:29 -07:00
omap_udc.h
pch_udc.c usb: pch_udc: unlock on allocation failure 2011-04-13 15:44:05 -07:00
printer.c USB: g_printer required set interface request 2011-04-29 17:24:31 -07:00
pxa25x_udc.c sanitize <linux/prefetch.h> usage 2011-05-20 12:50:29 -07:00
pxa25x_udc.h
pxa27x_udc.c sanitize <linux/prefetch.h> usage 2011-05-20 12:50:29 -07:00
pxa27x_udc.h
r8a66597-udc.c usb: r8a66597-udc: fix spinlock usage 2011-04-13 15:44:00 -07:00
r8a66597-udc.h USB: r8a66597-udc: Initialize uninitialized variable, fix compile warning 2010-10-22 10:21:34 -07:00
rndis.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
rndis.h USB: rndis: section mismatch fix 2010-09-03 17:33:40 -07:00
s3c2410_udc.c USB: s3c2410_udc: Add common implementation for GPIO controlled pullups 2011-03-07 12:23:22 -08:00
s3c2410_udc.h
s3c-hsotg.c USB: s3c-hsotg: return proper error if clk_get fails 2011-05-13 15:51:07 -07:00
s3c-hsudc.c USB: s3c-hsudc: fix checkpatch error and warning 2011-05-13 15:51:06 -07:00
serial.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
storage_common.c usb: gadget: storage_common: use kstrto*() [bug fix] 2011-04-29 17:24:36 -07:00
u_audio.c usb: g_audio: Fix crash at driver removal 2010-12-03 12:05:35 -08:00
u_audio.h
u_ether.c usb-gadget: fix warning in ethernet 2011-03-02 19:52:29 -05:00
u_ether.h usb: gadget: f_ncm.c added 2010-12-10 14:29:43 -08:00
u_phonet.h
u_serial.c usb: subtle increased memory usage in u_serial 2010-11-11 07:03:48 -08:00
u_serial.h
usbstring.c
uvc_queue.c
uvc_queue.h
uvc_v4l2.c USB: uvc_v4l2: cleanup test for end of loop 2010-08-23 20:50:14 -07:00
uvc_video.c
uvc.h
webcam.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
zero.c usb gadget: don't save bind callback in struct usb_composite_driver 2010-10-22 10:21:25 -07:00