diff options
author | alc <alc@FreeBSD.org> | 2008-07-15 03:34:49 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2008-07-15 03:34:49 +0000 |
commit | d4de04e9b12b0c35662441b280530b24f1a04472 (patch) | |
tree | 108e4a91f6248d3c2f096fa2c7182df936169673 /sys/ia64 | |
parent | eae79cfa0fb80e366fc602240d0ef1774ba118eb (diff) | |
download | FreeBSD-src-d4de04e9b12b0c35662441b280530b24f1a04472.zip FreeBSD-src-d4de04e9b12b0c35662441b280530b24f1a04472.tar.gz |
Update bus_dmamem_alloc()'s first call to malloc() such that M_WAITOK is
specified when appropriate.
Reviewed by: scottl
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/busdma_machdep.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/ia64/ia64/busdma_machdep.c b/sys/ia64/ia64/busdma_machdep.c index 8dd4a9b..6cc2988 100644 --- a/sys/ia64/ia64/busdma_machdep.c +++ b/sys/ia64/ia64/busdma_machdep.c @@ -416,8 +416,6 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, mflags = M_NOWAIT; else mflags = M_WAITOK; - if (flags & BUS_DMA_ZERO) - mflags |= M_ZERO; /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; @@ -425,10 +423,12 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, if (dmat->segments == NULL) { dmat->segments = (bus_dma_segment_t *)malloc( sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF, - M_NOWAIT); + mflags); if (dmat->segments == NULL) return (ENOMEM); } + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; /* * XXX: |