From: David Sterba Date: Tue, 2 Nov 2010 22:47:18 +0000 (+0100) Subject: USB: xhci: Use GFP_ATOMIC under spin_lock X-Git-Url: https://bbs.cooldavid.org/git/?a=commitdiff_plain;ds=sidebyside;h=ef821ae70fc35a76bdce7e07c70a1a7c2c33cdb9;p=net-next-2.6.git 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 CC: Sarah Sharp Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 5d7d4e951ea..8ddc965718a 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) xhci->msix_entries = kmalloc((sizeof(struct msix_entry))*xhci->msix_count, - GFP_KERNEL); + GFP_ATOMIC); if (!xhci->msix_entries) { xhci_err(xhci, "Failed to allocate MSI-X entries\n"); return -ENOMEM;