summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-02-07 07:18:52 +0000
committerhselasky <hselasky@FreeBSD.org>2014-02-07 07:18:52 +0000
commit8f0b7f5c20a4692472456b9c4c253fe7e3903380 (patch)
tree2749f769e5542bf4d6e887a81d8f8f95d5c77b4f
parent16b8c9f3577f714fdb38b4bcefe9461d99c269a2 (diff)
downloadFreeBSD-src-8f0b7f5c20a4692472456b9c4c253fe7e3903380.zip
FreeBSD-src-8f0b7f5c20a4692472456b9c4c253fe7e3903380.tar.gz
MFC r261505:
Fix a regression issue. Contiguous single segment allocations above PAGE_SIZE bytes should only use one USB page structure. Fixes a problem with some external drivers.
-rw-r--r--sys/dev/usb/usb_busdma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/usb/usb_busdma.c b/sys/dev/usb/usb_busdma.c
index 1808ab4..08425bf 100644
--- a/sys/dev/usb/usb_busdma.c
+++ b/sys/dev/usb/usb_busdma.c
@@ -454,7 +454,7 @@ usb_pc_common_mem_cb(void *arg, bus_dma_segment_t *segs,
goto done;
}
#endif
- while (1) {
+ while (pc->ismultiseg) {
off += USB_PAGE_SIZE;
if (off >= (segs->ds_len + rem)) {
/* page crossing */
OpenPOWER on IntegriCloud