diff options
author | Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> | 2014-07-03 21:37:42 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-07-09 16:16:07 -0700 |
commit | f589b3e0408ccebfac98f6c2eb38d445a9423e7c (patch) | |
tree | 1a2be39ef7fdfa0463d7ca55ce87ac3ce8f4c2cd | |
parent | 47c6ae7cdc4dc0c72686cca1819c7368bef2e1bf (diff) | |
download | lwn-f589b3e0408ccebfac98f6c2eb38d445a9423e7c.tar.gz lwn-f589b3e0408ccebfac98f6c2eb38d445a9423e7c.zip |
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 <vladimir_zapolskiy@mentor.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/host/uhci-hcd.c | 2 |
1 files changed, 1 insertions, 1 deletions
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"); |