Page MenuHomeFreeBSD

D35232.id106095.diff
No OneTemporary

D35232.id106095.diff

Index: sys/dev/iommu/busdma_iommu.c
===================================================================
--- sys/dev/iommu/busdma_iommu.c
+++ sys/dev/iommu/busdma_iommu.c
@@ -584,7 +584,7 @@
}
buflen1 = buflen > tag->common.maxsegsz ?
tag->common.maxsegsz : buflen;
- size = round_page(offset + buflen1);
+ size = buflen1;
/*
* (Too) optimistically allow split if there are more
@@ -600,24 +600,7 @@
gas_flags, ma + idx, &entry);
if (error != 0)
break;
- if ((gas_flags & IOMMU_MF_CANSPLIT) != 0) {
- KASSERT(size >= entry->end - entry->start,
- ("split increased entry size %jx %jx %jx",
- (uintmax_t)size, (uintmax_t)entry->start,
- (uintmax_t)entry->end));
- size = entry->end - entry->start;
- if (buflen1 > size)
- buflen1 = size;
- } else {
- KASSERT(entry->end - entry->start == size,
- ("no split allowed %jx %jx %jx",
- (uintmax_t)size, (uintmax_t)entry->start,
- (uintmax_t)entry->end));
- }
- if (offset + buflen1 > size)
- buflen1 = size - offset;
- if (buflen1 > tag->common.maxsegsz)
- buflen1 = tag->common.maxsegsz;
+ buflen1 = entry->end - entry->start;
KASSERT(vm_addr_align_ok(entry->start + offset,
tag->common.alignment),

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 3, 6:17 AM (6 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30722661
Default Alt Text
D35232.id106095.diff (1 KB)

Event Timeline