aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/usb_busdma.c
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2009-07-12 16:46:43 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2009-07-12 16:46:43 +0000
commit58f6d2732065afc5b739794d0f4ddffd6b6c4f8e (patch)
tree521f0ac2bc5aef023ed64c137b9ebfc21f58a56a /sys/dev/usb/usb_busdma.c
parent77822acff7bf72c4a8e4020fb9256372f851c65e (diff)
downloadsrc-58f6d2732065afc5b739794d0f4ddffd6b6c4f8e.tar.gz
src-58f6d2732065afc5b739794d0f4ddffd6b6c4f8e.zip
MFp4:
USB CORE: busdma improvement For single segment allocations the boundary field of the BUSDMA tag should be zero. Currently all single segment allocations are less than or equal to 4096 bytes, so the limit does not kick in. If any single segment USB allocations would be greater than 4K, then it would be a problem. Approved by: re (kensmith) Obtained from: HPS
Notes
Notes: svn path=/head/; revision=195639
Diffstat (limited to 'sys/dev/usb/usb_busdma.c')
-rw-r--r--sys/dev/usb/usb_busdma.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/usb/usb_busdma.c b/sys/dev/usb/usb_busdma.c
index 4127449ea110..e5d6ed7951ea 100644
--- a/sys/dev/usb/usb_busdma.c
+++ b/sys/dev/usb/usb_busdma.c
@@ -359,7 +359,8 @@ usb_dma_tag_create(struct usb_dma_tag *udt,
if (bus_dma_tag_create
( /* parent */ udt->tag_parent->tag,
/* alignment */ align,
- /* boundary */ USB_PAGE_SIZE,
+ /* boundary */ (align == 1) ?
+ USB_PAGE_SIZE : 0,
/* lowaddr */ (2ULL << (udt->tag_parent->dma_bits - 1)) - 1,
/* highaddr */ BUS_SPACE_MAXADDR,
/* filter */ NULL,