OSDN Git Service

USB: c67x00: move URB private data allocation from under spinlock
authorMax Filippov <jcmvbkbc@gmail.com>
Wed, 25 Dec 2013 12:01:29 +0000 (16:01 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Jan 2014 00:15:39 +0000 (16:15 -0800)
commit252d74f6a875bcdee54cbcc82d7c02ee4fcece6b
treeabc235efb8d24c9eda1a441efacfedfd56529e3a
parent8f668fbbd571bbd5187a9a0eae150b768fc388ac
USB: c67x00: move URB private data allocation from under spinlock

This fixes the following warning:

  BUG: sleeping function called from invalid context at mm/slub.c:940
  in_atomic(): 1, irqs_disabled(): 1, pid: 17, name: khubd
  CPU: 0 PID: 17 Comm: khubd Not tainted 3.12.0-00004-g938dd60-dirty #1

   __might_sleep+0xbe/0xc0
   kmem_cache_alloc_trace+0x36/0x170
   c67x00_urb_enqueue+0x5c/0x254
   usb_hcd_submit_urb+0x66e/0x724
   usb_submit_urb+0x2ac/0x308
   usb_start_wait_urb+0x2c/0xb8
   usb_control_msg+0x8c/0xa8
   hub_port_init+0x191/0x718
   hub_thread+0x804/0xe14
   kthread+0x72/0x78
   ret_from_kernel_thread+0x8/0xc

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Acked-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/c67x00/c67x00-sched.c