linux_dsm_epyc7002/drivers/usb/gadget/udc
Pengyu Ma d3cb25a121 usb: gadget: udc: fix spin_lock in pch_udc
When remove module g_serial on quark platform, the following Warning on:

Modules linked in: usb_f_acm u_serial g_serial(-) pch_udc libcomposite configfs udc_core
ad7298 industrialio_triggered_buffer kfifo_buf tpm_i2c_infineon indus
CPU: 0 PID: 369 Comm: modprobe Not tainted 3.14.29ltsi-WR7.0.0.0_standard #6
Hardware name: Intel Corp. QUARK/CrossHill, BIOS 0x010100F5 01/01/2014
 f641df0c f641df0c f641dec8 c15ac7fa f641defc c103084f c16c2356 f641df28
 00000171 c16b855c 000009dd c15b2d6f 000009dd c15b2d6f f6bd2000 faae5480
 00000000 f641df14 c10308a3 00000009 f641df0c c16c2356 f641df28 f641df2c
Call Trace:
 [<c15ac7fa>] dump_stack+0x16/0x18
 [<c103084f>] warn_slowpath_common+0x7f/0xa0
 [<c15b2d6f>] ? preempt_count_sub+0x6f/0xc0
 [<c15b2d6f>] ? preempt_count_sub+0x6f/0xc0
 [<c10308a3>] warn_slowpath_fmt+0x33/0x40
 [<c15b2d6f>] preempt_count_sub+0x6f/0xc0
 [<faadbc82>] pch_udc_pcd_pullup+0x32/0xa0 [pch_udc]
 [<fa9747d9>] usb_gadget_remove_driver+0x29/0x60 [udc_core]
 [<fa974869>] usb_gadget_unregister_driver+0x59/0x80 [udc_core]
 [<faa78310>] usb_composite_unregister+0x10/0x20 [libcomposite]
 [<faae50f1>] cleanup+0xd/0xf [g_serial]
 [<c1084c47>] SyS_delete_module+0xf7/0x150
 [<c111f8dd>] ? ____fput+0xd/0x10
 [<c104b2ae>] ? task_work_run+0x6e/0xa0
 [<c15afda5>] syscall_call+0x7/0x7

g_serial module on quark is depended on pch_udc module, ttyGSX cann't recieve
data and warning on when remove g_serial.

It was unlocked before the modification of the structure it was protecting,
fix it as "lock -> unlock" to resolve this.

Signed-off-by: Pengyu Ma <pengyu.ma@windriver.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2015-08-03 09:44:47 -05:00
..
bdc usb: gadget: bdc_udc: set value for common is_selfpowered 2015-01-29 10:32:54 -06:00
amd5536udc.c usb: gadget: amd5536udc: use udc-core's reset notifier 2014-11-10 17:19:37 -06:00
amd5536udc.h
at91_udc.c usb: gadget: add 'quirk_stall_not_supp' to usb_gadget 2015-07-30 11:43:35 -05:00
at91_udc.h ARM: SoC driver updates 2015-02-17 09:38:59 -08:00
atmel_usba_udc.c usb: gadget: atmel_usba_udc: add missing ret value check 2015-07-31 08:58:03 -05:00
atmel_usba_udc.h usb: gadget: atmel_usba: use endian agnostic IO on ARM 2015-03-19 11:28:16 -05:00
bcm63xx_udc.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
dummy_hcd.c dummy_hcd: use USB_DT[_SS]_HUB 2015-04-03 19:03:16 +02:00
fotg210-udc.c usb: gadget: fotg210-udc: remove duplicate conditions 2015-07-30 11:43:37 -05:00
fotg210.h
fsl_mxc_udc.c
fsl_qe_udc.c usb: gadget: cleanup on stack DECLARE_COMPLETIONs 2015-01-12 12:13:27 -06:00
fsl_qe_udc.h
fsl_udc_core.c usb: gadget: remove incorrect __init/__exit annotations 2015-04-27 14:45:35 -05:00
fsl_usb2_udc.h
fusb300_udc.c usb: gadget: remove incorrect __init/__exit annotations 2015-04-27 14:45:35 -05:00
fusb300_udc.h usb: gadget: fusb300_udc.h: Fix typo in include guard 2014-09-03 09:15:57 -05:00
gadget_chips.h
goku_udc.c usb: gadget: goku_udc: Remove uses of seq_<foo> return values 2015-03-19 11:28:15 -05:00
goku_udc.h
gr_udc.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gr_udc.h usb: gadget: gr_udc: Add bounce buffer to handle odd sized OUT requests 2014-09-16 10:01:45 -05:00
Kconfig Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2015-02-19 10:36:45 -08:00
lpc32xx_udc.c usb: gadget: lpc32xxx_udc: Fix NULL dereference 2015-03-11 14:59:10 -05:00
m66592-udc.c usb: gadget: m66592-udc: forever loop in set_feature() 2015-07-30 11:43:37 -05:00
m66592-udc.h
Makefile usb: gadget: Add UDC driver for Broadcom USB3.0 device controller IP BDC 2014-11-18 08:47:23 -06:00
mv_u3d_core.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
mv_u3d.h
mv_udc_core.c usb: gadget: mv_udc_core: fix phy_regs I/O memory leak 2015-07-20 12:57:46 -05:00
mv_udc.h
net2272.c usb: udc: Convert use of __constant_cpu_to_leXX to cpu_to_leXX 2015-07-29 09:59:18 -05:00
net2272.h usb: gadget: net2272: use common is_selfpowered 2015-01-29 10:35:27 -06:00
net2280.c usb: gadget: net2280: fix pullup handling 2015-05-26 10:40:31 -05:00
net2280.h usb: gadget: net2280: remove fiforegs as it is unused 2015-03-10 15:33:30 -05:00
omap_udc.c usb: gadget: omap_udc: set value for common is_selfpowered 2015-01-29 10:35:04 -06:00
omap_udc.h
pch_udc.c usb: gadget: udc: fix spin_lock in pch_udc 2015-08-03 09:44:47 -05:00
pxa25x_udc.c usb: gadget: add 'quirk_altset_not_supp' to usb_gadget 2015-07-30 11:43:35 -05:00
pxa25x_udc.h
pxa27x_udc.c usb: gadget: add 'quirk_altset_not_supp' to usb_gadget 2015-07-30 11:43:35 -05:00
pxa27x_udc.h usb: gadget: pxa27x_udc: transfer mach_info into pxa_udc 2014-11-03 10:00:57 -06:00
r8a66597-udc.c usb: gadget: remove incorrect __init/__exit annotations 2015-04-27 14:45:35 -05:00
r8a66597-udc.h
s3c2410_udc.c Merge 4.1-rc7 into usb-next 2015-06-08 10:57:51 -07:00
s3c2410_udc.h
s3c-hsudc.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
udc-core.c usb: gadget: udc: core: Fix argument of dma_map_single for IOMMU 2015-07-20 12:57:46 -05:00
udc-xilinx.c usb: gadget: xilinx: fix devm_ioremap_resource() check 2015-04-27 14:38:34 -05:00