From: Oliver Neukum Date: Wed, 16 Dec 2009 18:43:59 +0000 (+0100) Subject: USB: xhci: No GFP_KERNEL in block error handling X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=319c3ea451e19f72b578661e26fb33739af5ae1c;p=openwrt%2Fstaging%2Fblogic.git USB: xhci: No GFP_KERNEL in block error handling xhci_add_endpoint() is used in the reset path. It must use GFP_NOIO to avoid a possible deadlock. Signed-off-by: Oliver Neukum Acked-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/xhci-hcd.c b/drivers/usb/host/xhci-hcd.c index c8573f874ec4..4cb69e0af834 100644 --- a/drivers/usb/host/xhci-hcd.c +++ b/drivers/usb/host/xhci-hcd.c @@ -1007,7 +1007,7 @@ int xhci_add_endpoint(struct usb_hcd *hcd, struct usb_device *udev, * for usb_set_interface() and usb_set_configuration() claim). */ if (xhci_endpoint_init(xhci, xhci->devs[udev->slot_id], - udev, ep, GFP_KERNEL) < 0) { + udev, ep, GFP_NOIO) < 0) { dev_dbg(&udev->dev, "%s - could not initialize ep %#x\n", __func__, ep->desc.bEndpointAddress); return -ENOMEM;