--- a/sys/platform/vkernel64/platform/busdma_machdep.c +++ b/sys/platform/vkernel64/platform/busdma_machdep.c @@ -937,8 +937,7 @@ * want to add support for invalidating * the caches on broken hardware */ - switch (op) { - case BUS_DMASYNC_PREWRITE: + if (op & BUS_DMASYNC_PREWRITE) { while (bpage != NULL) { bcopy((void *)bpage->datavaddr, (void *)bpage->vaddr, @@ -946,9 +945,8 @@ bpage = STAILQ_NEXT(bpage, links); } dmat->bounce_zone->total_bounced++; - break; - - case BUS_DMASYNC_POSTREAD: + } + if (op & BUS_DMASYNC_POSTREAD) { while (bpage != NULL) { bcopy((void *)bpage->vaddr, (void *)bpage->datavaddr, @@ -956,13 +954,9 @@ bpage = STAILQ_NEXT(bpage, links); } dmat->bounce_zone->total_bounced++; - break; - - case BUS_DMASYNC_PREREAD: - case BUS_DMASYNC_POSTWRITE: - /* No-ops */ - break; } + /* BUS_DMASYNC_PREREAD - no operation needed */ + /* BUS_DMASYNC_POSTWRITE - no operation needed */ } }