diff options
author | David Sterba <dsterba@suse.cz> | 2010-11-02 18:47:18 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-11 09:59:14 -0500 |
commit | ef821ae70fc35a76bdce7e07c70a1a7c2c33cdb9 (patch) | |
tree | 39a8e4f61bf4505eb45e10918e200ca3e0a9ab5c /drivers/usb | |
parent | 4b4cd731b08fd7fa2f370a5b329062fb5006dc24 (diff) |
USB: xhci: Use GFP_ATOMIC under spin_lock
coccinelle check scripts/coccinelle/locks/call_kern.cocci found that
in drivers/usb/host/xhci.c an allocation with GFP_KERNEL is done
with locks held:
xhci_resume
spin_lock_irq(xhci->lock)
xhci_setup_msix
kmalloc(GFP_KERNEL)
Change it to GFP_ATOMIC.
Signed-off-by: David Sterba <dsterba@suse.cz>
CC: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/xhci.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 5d7d4e951ea4..8ddc965718ab 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c | |||
@@ -240,7 +240,7 @@ static int xhci_setup_msix(struct xhci_hcd *xhci) | |||
240 | 240 | ||
241 | xhci->msix_entries = | 241 | xhci->msix_entries = |
242 | kmalloc((sizeof(struct msix_entry))*xhci->msix_count, | 242 | kmalloc((sizeof(struct msix_entry))*xhci->msix_count, |
243 | GFP_KERNEL); | 243 | GFP_ATOMIC); |
244 | if (!xhci->msix_entries) { | 244 | if (!xhci->msix_entries) { |
245 | xhci_err(xhci, "Failed to allocate MSI-X entries\n"); | 245 | xhci_err(xhci, "Failed to allocate MSI-X entries\n"); |
246 | return -ENOMEM; | 246 | return -ENOMEM; |