]> git.baikalelectronics.ru Git - kernel.git/commit
xhci: Fix sleeping with IRQs disabled in xhci_stop_device()
authorMathias Nyman <mathias.nyman@linux.intel.com>
Tue, 10 Jun 2014 08:27:41 +0000 (11:27 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jun 2014 23:44:57 +0000 (16:44 -0700)
commitc3ebe25c197b6070b402781b7329d2169481634c
treee944bb41bb5b3f98bca3af7934a03f3ee73c8d0b
parentdf29a66f78d12adbbc3205ffb6a728e393816ea0
xhci: Fix sleeping with IRQs disabled in xhci_stop_device()

xhci_stop_device() allocates and issues stop commands for each active endpoint.
This is done with spinlock held and interrupt disabled so we can't sleep during
memory allocation. Use GFP_NOWAIT instead

Regression from commit 4f15cb6acb569738e7dc2cd01022c3d6982ade6e
"xhci: Use command structures when queuing commands on the command ring"
for 3.16-rc1

Fixes: 4f15cb6acb56 ("xhci: Use command structures when queuing commands")
Reported-by: Dan Williams <dan.j.williams@intel.com>
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-hub.c