seglen computation did not account for seg_offset (problem and fix identified by Geoffrey Blake).
Signed-off-by: Bill Fischofer <[email protected]> --- platform/linux-generic/include/odp_buffer_inlines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/linux-generic/include/odp_buffer_inlines.h b/platform/linux-generic/include/odp_buffer_inlines.h index f880445..ade2878 100644 --- a/platform/linux-generic/include/odp_buffer_inlines.h +++ b/platform/linux-generic/include/odp_buffer_inlines.h @@ -136,7 +136,7 @@ static inline void *buffer_map(odp_buffer_hdr_t *buf, if (seglen != NULL) { uint32_t buf_left = limit - offset; - *seglen = buf_left < buf->segsize ? + *seglen = seg_offset + buf_left <= buf->segsize ? buf_left : buf->segsize - seg_offset; } -- 2.1.0 _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
