diff options
| -rw-r--r-- | embassy-nrf/src/util.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/embassy-nrf/src/util.rs b/embassy-nrf/src/util.rs index d17ec5032..2fd0bc5a8 100644 --- a/embassy-nrf/src/util.rs +++ b/embassy-nrf/src/util.rs | |||
| @@ -4,13 +4,13 @@ const SRAM_UPPER: usize = 0x3000_0000; | |||
| 4 | /// Does this slice reside entirely within RAM? | 4 | /// Does this slice reside entirely within RAM? |
| 5 | pub(crate) fn slice_in_ram<T>(slice: &[T]) -> bool { | 5 | pub(crate) fn slice_in_ram<T>(slice: &[T]) -> bool { |
| 6 | let ptr = slice.as_ptr() as usize; | 6 | let ptr = slice.as_ptr() as usize; |
| 7 | ptr >= SRAM_LOWER && (ptr + slice.len()) < SRAM_UPPER | 7 | ptr >= SRAM_LOWER && (ptr + slice.len() * core::mem::size_of::<T>()) < SRAM_UPPER |
| 8 | } | 8 | } |
| 9 | 9 | ||
| 10 | /// Return an error if slice is not in RAM. | 10 | /// Return an error if slice is not in RAM. |
| 11 | #[cfg(not(feature = "nrf51"))] | 11 | #[cfg(not(feature = "nrf51"))] |
| 12 | pub(crate) fn slice_in_ram_or<T, E>(slice: &[T], err: E) -> Result<(), E> { | 12 | pub(crate) fn slice_in_ram_or<T, E>(slice: &[T], err: E) -> Result<(), E> { |
| 13 | if slice.len() == 0 || slice_in_ram(slice) { | 13 | if slice.is_empty() || slice_in_ram(slice) { |
| 14 | Ok(()) | 14 | Ok(()) |
| 15 | } else { | 15 | } else { |
| 16 | Err(err) | 16 | Err(err) |
