From 42fe0d3fbbf8ace7e917eb09b36d278f30b713c8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 25 Nov 2014 08:36:58 +0100 Subject: bsps/arm: L2C 310 avoid infinite loops --- c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h b/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h index 63940c3d88..35c80026d4 100644 --- a/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h +++ b/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h @@ -882,6 +882,10 @@ l2c_310_flush_range( const void* d_addr, const size_t n_bytes ) L2C_310_MIN( ADDR_LAST, adx + L2C_310_MAX_LOCKING_BYTES ); volatile L2CC *l2cc = (volatile L2CC *) BSP_ARM_L2C_310_BASE; + if ( n_bytes == 0 ) { + return; + } + for (; adx <= ADDR_LAST; adx = block_end + 1, @@ -946,6 +950,10 @@ l2c_310_invalidate_range( const void* d_addr, const size_t n_bytes ) L2C_310_MIN( ADDR_LAST, adx + L2C_310_MAX_LOCKING_BYTES ); volatile L2CC *l2cc = (volatile L2CC *) BSP_ARM_L2C_310_BASE; + if ( n_bytes == 0 ) { + return; + } + for (; adx <= ADDR_LAST; adx = block_end + 1, -- cgit v1.2.3