linux-kernel-test/drivers/usb/gadget
Felipe Balbi b2bdf3a789 USB: composite: avoid inconsistent lock state
Avoid the following INFO from lock debugging:

[  369.126112] =================================
[  369.132063] [ INFO: inconsistent lock state ]
[  369.136457] 2.6.28-maemo1 #1
[  369.139387] ---------------------------------
[  369.143782] inconsistent {hardirq-on-W} -> {in-hardirq-W} usage.
[  369.149855] swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes:
[  369.154890]  (&cdev->lock){+-..}, at: [<bf1979f0>] composite_disconnect+0x1c/0]
[  369.163404] {hardirq-on-W} state was registered at:
[  369.168348]   [<c00788a8>] __lock_acquire+0x5d0/0x7d8
[  369.173506]   [<c0078b14>] lock_acquire+0x64/0x78
[  369.178266]   [<c0263a34>] _spin_lock+0x4c/0x80
[  369.182905]   [<bf19597c>] usb_function_deactivate+0x20/0x70 [g_nokia]
[  369.189527]   [<bf1a0a88>] 0xbf1a0a88
[  369.193281]   [<bf19f450>] 0xbf19f450
[  369.197004]   [<bf19fa3c>] 0xbf19fa3c
[  369.200758]   [<bf1a03a0>] 0xbf1a03a0
[  369.204481]   [<bf19f254>] 0xbf19f254
[  369.208204]   [<bf1a0158>] 0xbf1a0158
[  369.211927]   [<bf1a130c>] 0xbf1a130c
[  369.215650]   [<c01c21f0>] usb_gadget_register_driver+0x12c/0x28c
[  369.221846]   [<bf1a06bc>] 0xbf1a06bc
[  369.225569]   [<bf1a06e8>] 0xbf1a06e8
[  369.229322]   [<c002c2dc>] __exception_text_end+0x64/0x19c
[  369.234877]   [<c0081628>] sys_init_module+0x9c/0x194
[  369.240004]   [<c002c8e0>] ret_fast_syscall+0x0/0x2c
[  369.245039]   [<ffffffff>] 0xffffffff
[  369.248793] irq event stamp: 218356
[  369.252302] hardirqs last  enabled at (218355): [<c003a77c>] omap3_enter_idle+8
[  369.260420] hardirqs last disabled at (218356): [<c0264774>] __irq_svc+0x34/0x0
[  369.267927] softirqs last  enabled at (218348): [<c00585a4>] __do_softirq+0x134
[  369.275892] softirqs last disabled at (218335): [<c005899c>] irq_exit+0x60/0xb0
[  369.283308]
[  369.283308] other info that might help us debug this:
[  369.289930] no locks held by swapper/0.

Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-03-24 16:20:35 -07:00
..
amd5536udc.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
amd5536udc.h
at91_udc.c gadget: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:42 -08:00
at91_udc.h
atmel_usba_udc.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
atmel_usba_udc.h
cdc2.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
ci13xxx_udc.c USB: gadget: remove duplicated #include 2009-03-24 16:20:28 -07:00
ci13xxx_udc.h USB: gadget: MIPS ci13xxx_udc 2009-01-07 09:59:58 -08:00
composite.c USB: composite: avoid inconsistent lock state 2009-03-24 16:20:35 -07:00
config.c usb/gadget: fix kernel-doc warning 2008-10-22 10:05:28 -07:00
dummy_hcd.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
epautoconf.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
ether.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_acm.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_ecm.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_loopback.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_obex.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_phonet.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_rndis.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_serial.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_sourcesink.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
f_subset.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
file_storage.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
fsl_qe_udc.c USB: fsl_qe_udc: Fix stalled TX requests bug 2009-02-09 11:19:47 -08:00
fsl_qe_udc.h usb/fsl_qe_udc: fix response to get status request 2008-10-17 14:41:08 -07:00
fsl_usb2_udc.c USB: add missing KERN_* constants to printks 2009-03-24 16:20:30 -07:00
fsl_usb2_udc.h fsl_usb2_udc: Fix some sparse warnings and remove redundant code. 2008-10-17 14:41:05 -07:00
g_zero.h
gadget_chips.h USB: add imx udc gadget driver 2009-01-07 10:00:11 -08:00
gmidi.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
goku_udc.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
goku_udc.h
imx_udc.c USB: imx_udc: Fix IMX UDC gadget general irq handling 2009-03-24 16:20:29 -07:00
imx_udc.h USB: imx_udc: Fix IMX UDC gadget general irq handling 2009-03-24 16:20:29 -07:00
inode.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
Kconfig USB: pxa27x_udc: add otg transceiver support 2009-03-24 16:20:27 -07:00
lh7a40x_udc.c USB: add missing KERN_* constants to printks 2009-03-24 16:20:30 -07:00
lh7a40x_udc.h
m66592-udc.c USB: m66592 and r8a66597 resource changes 2009-01-07 09:59:53 -08:00
m66592-udc.h sh: sh_mobile usbf clock framework support 2008-12-22 18:42:51 +09:00
Makefile USB: add imx udc gadget driver 2009-01-07 10:00:11 -08:00
ndis.h
net2280.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
net2280.h USB: gadget: net2280: implement set_wedge 2008-10-17 14:40:52 -07:00
omap_udc.c USB: otg: add otg_put_transceiver() 2009-01-07 10:00:02 -08:00
omap_udc.h
printer.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
pxa25x_udc.c [ARM] 5403/1: pxa25x_ep_fifo_flush() *ep->reg_udccs always set to 0 2009-02-19 11:04:46 +00:00
pxa25x_udc.h
pxa27x_udc.c USB: Remove redundant test in pxa27x_udc and ftdi_sio 2009-03-24 16:20:28 -07:00
pxa27x_udc.h USB: pxa27x_udc: add otg transceiver support 2009-03-24 16:20:27 -07:00
rndis.c usb gadget: link fixes for network gadget 2008-10-16 09:24:47 -07:00
rndis.h
s3c2410_udc.c USB: gadget: s3c2410_udc uses standard GPIO calls 2009-01-07 10:00:02 -08:00
s3c2410_udc.h
serial.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
u_ether.c gadget: convert devices to new API 2009-01-07 18:05:39 -08:00
u_ether.h
u_phonet.h Phonet: USB CDC Phonet function for gadget framework 2008-12-17 15:49:09 -08:00
u_serial.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
u_serial.h usb gadget: cdc obex glue 2008-10-17 14:40:53 -07:00
usbstring.c
zero.c USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00