From: Vladimir Zapolskiy Date: Thu, 3 Jul 2014 18:37:42 +0000 (+0300) Subject: USB: UHCI: don't allocate frame list atomically X-Git-Tag: firefly_0821_release~176^2~3489^2~50 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=f589b3e0408ccebfac98f6c2eb38d445a9423e7c;p=firefly-linux-kernel-4.4.55.git USB: UHCI: don't allocate frame list atomically uhci_start() is executed one time during usb_add_hcd() call and by default UHCI frame list is allocated from atomic DMA pool. Do non-atomic allocation of uhci->frame and free some space in coherent atomic DMA pool. Signed-off-by: Vladimir Zapolskiy Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index 27f35e8f161b..a7de8e8bb458 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c @@ -591,7 +591,7 @@ static int uhci_start(struct usb_hcd *hcd) uhci->frame = dma_alloc_coherent(uhci_dev(uhci), UHCI_NUMFRAMES * sizeof(*uhci->frame), - &uhci->frame_dma_handle, 0); + &uhci->frame_dma_handle, GFP_KERNEL); if (!uhci->frame) { dev_err(uhci_dev(uhci), "unable to allocate consistent memory for frame list\n");