diff options
| -rw-r--r-- | sys/amd64/amd64/busdma_machdep.c | 4 | ||||
| -rw-r--r-- | sys/i386/i386/busdma_machdep.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/amd64/amd64/busdma_machdep.c b/sys/amd64/amd64/busdma_machdep.c index 59495bfc198a..462abe97b387 100644 --- a/sys/amd64/amd64/busdma_machdep.c +++ b/sys/amd64/amd64/busdma_machdep.c @@ -220,6 +220,10 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; diff --git a/sys/i386/i386/busdma_machdep.c b/sys/i386/i386/busdma_machdep.c index 5d7c9cdcf408..90f8848d13fd 100644 --- a/sys/i386/i386/busdma_machdep.c +++ b/sys/i386/i386/busdma_machdep.c @@ -225,6 +225,10 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; |
