aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/buffer.c
diff options
context:
space:
mode:
authorChris Humbert <[email protected]>2005-11-28 17:29:23 +0000
committerGreg Kroah-Hartman <[email protected]>2006-01-04 21:51:39 +0000
commitbd39b7f195e5a780a3c6710eb1c1450f158a1f31 (patch)
tree34c57ff00c5779a571c9ab5f5a592093594f3aee /drivers/usb/core/buffer.c
parent[PATCH] USB: input/touchkitusb: handle multiple packets (diff)
downloadkernel-bd39b7f195e5a780a3c6710eb1c1450f158a1f31.tar.gz
kernel-bd39b7f195e5a780a3c6710eb1c1450f158a1f31.zip
[PATCH] USB: don't allocate dma pools for PIO HCDs
USB: don't allocate dma pools for PIO HCDs hcd_buffer_alloc() and hcd_buffer_free() have a similar dma_mask check and revert to kmalloc()/kfree(), but hcd_buffer_create() doesn't check dma_mask and allocates unused dma pools. Signed-off-by: Chris Humbert <[email protected]> Acked-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/usb/core/buffer.c')
-rw-r--r--drivers/usb/core/buffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/core/buffer.c b/drivers/usb/core/buffer.c
index 419c9943a7cb..ad742cec94fa 100644
--- a/drivers/usb/core/buffer.c
+++ b/drivers/usb/core/buffer.c
@@ -55,6 +55,9 @@ int hcd_buffer_create (struct usb_hcd *hcd)
char name [16];
int i, size;
+ if (!hcd->self.controller->dma_mask)
+ return 0;
+
for (i = 0; i < HCD_BUFFER_POOLS; i++) {
if (!(size = pool_max [i]))
continue;