FYI, we noticed the below changes on git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit 56aa45adcc5b793369e535a4b7177f1c7314b577 ("usb: gadget: make usb functions to load before gadget driver") This commit fixed an warning as below: [ 8.571726] ------------[ cut here ]------------ [ 8.572786] WARNING: at kernel/mutex.c:199 mutex_lock_nested+0x121/0x349() [ 8.572786] Hardware name: Standard PC (i440FX + PIIX, 1996) [ 8.572786] Pid: 1, comm: swapper/0 Not tainted 3.9.0-rc1-00006-gfe2a429 #884 [ 8.572786] Call Trace: [ 8.572786] [] warn_slowpath_common+0x77/0x91 [ 8.572786] [] warn_slowpath_null+0x15/0x17 [ 8.572786] [] mutex_lock_nested+0x121/0x349 [ 8.572786] [] ? sched_clock+0x9/0xd [ 8.572786] [] ? sched_clock_local+0x11/0x78 [ 8.572786] [] ? gserial_alloc_line+0x2a/0x1c0 [ 8.572786] [] gserial_alloc_line+0x2a/0x1c0 [ 8.572786] [] ? gserial_alloc_line+0x2a/0x1c0 [ 8.572786] [] acm_ms_bind+0x2d/0x7ab [ 8.572786] [] ? mutex_unlock+0x9/0xb [ 8.572786] [] ? sysfs_addrm_finish+0x16/0x52 [ 8.572786] [] ? sysfs_add_file_mode+0xa8/0xdc [ 8.572786] [] ? sysfs_add_file+0xd/0xf [ 8.572786] [] ? sysfs_create_file+0x23/0x25 [ 8.572786] [] ? device_create_file+0x14/0x16 [ 8.572786] [] ? composite_dev_prepare+0xb0/0xe9 [ 8.572786] [] composite_bind+0x9c/0x166 [ 8.572786] [] ? m66592_probe+0x418/0x418 [ 8.572786] [] udc_bind_to_driver+0x25/0xa6 [ 8.572786] [] ? m66592_probe+0x418/0x418 [ 8.572786] [] usb_gadget_probe_driver+0x75/0x88 [ 8.572786] [] usb_composite_probe+0x8d/0x8f [ 8.572786] [] init+0x10/0x12 [ 8.572786] [] do_one_initcall+0x7a/0x13d [ 8.572786] [] kernel_init_freeable+0x178/0x1fb [ 8.572786] [] ? rest_init+0xb7/0xb7 [ 8.572786] [] kernel_init+0x9/0xd1 [ 8.572786] [] ret_from_fork+0x7c/0xb0 [ 8.572786] [] ? rest_init+0xb7/0xb7 [ 8.572786] ---[ end trace 220a440ac161c663 ]--- Thanks, Ying Huang