svn commit: r246881 - head/sys/arm/arm
Ian Lepore
ian at FreeBSD.org
Sat Feb 16 20:43:17 UTC 2013
Author: ian
Date: Sat Feb 16 20:43:16 2013
New Revision: 246881
URL: http://svnweb.freebsd.org/changeset/base/246881
Log:
In _bus_dmamap_addseg(), the return value must be zero for error, or the size
actually added to the segment (possibly smaller than the requested size if
boundary crossings had to be avoided).
Modified:
head/sys/arm/arm/busdma_machdep-v6.c
head/sys/arm/arm/busdma_machdep.c
Modified: head/sys/arm/arm/busdma_machdep-v6.c
==============================================================================
--- head/sys/arm/arm/busdma_machdep-v6.c Sat Feb 16 20:17:31 2013 (r246880)
+++ head/sys/arm/arm/busdma_machdep-v6.c Sat Feb 16 20:43:16 2013 (r246881)
@@ -856,7 +856,7 @@ _bus_dmamap_addseg(bus_dma_tag_t dmat, b
curaddr);
if (dr == NULL) {
_bus_dmamap_unload(dmat, map);
- return (EINVAL);
+ return (0);
}
/*
* In a valid DMA range. Translate the physical
Modified: head/sys/arm/arm/busdma_machdep.c
==============================================================================
--- head/sys/arm/arm/busdma_machdep.c Sat Feb 16 20:17:31 2013 (r246880)
+++ head/sys/arm/arm/busdma_machdep.c Sat Feb 16 20:43:16 2013 (r246881)
@@ -913,7 +913,7 @@ _bus_dmamap_addseg(bus_dma_tag_t dmat, b
dr = _bus_dma_inrange(dmat->ranges, dmat->_nranges,
curaddr);
if (dr == NULL)
- return (EINVAL);
+ return (0);
/*
* In a valid DMA range. Translate the physical
* memory address to an address in the DMA window.
@@ -935,12 +935,12 @@ _bus_dmamap_addseg(bus_dma_tag_t dmat, b
segs[seg].ds_len += sgsize;
} else {
if (++seg >= dmat->nsegments)
- return (EFBIG);
+ return (0);
segs[seg].ds_addr = curaddr;
segs[seg].ds_len = sgsize;
}
*segp = seg;
- return (0);
+ return (sgsize);
}
/*
More information about the svn-src-all
mailing list