aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTil Blechschmidt <[email protected]>2022-02-23 22:51:01 +0100
committerTil Blechschmidt <[email protected]>2022-02-23 22:51:01 +0100
commited9fad8c7e71d7a868683957bbfdf64c0eca7ffe (patch)
treeaa4a9eabdbc117c82e3572fa62257591f07c9431
parentcaad1111f9361471310a527c0da36c139c447936 (diff)
Skip EasyDMA slice location check if slice is empty
-rw-r--r--embassy-nrf/src/lib.rs2
-rw-r--r--embassy-nrf/src/util.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs
index b448f6ab6..a9df231e5 100644
--- a/embassy-nrf/src/lib.rs
+++ b/embassy-nrf/src/lib.rs
@@ -1,7 +1,7 @@
1#![no_std] 1#![no_std]
2#![cfg_attr( 2#![cfg_attr(
3 feature = "nightly", 3 feature = "nightly",
4 feature(generic_associated_types, type_alias_impl_trait) 4 feature(generic_associated_types, type_alias_impl_trait, slice_ptr_len)
5)] 5)]
6 6
7#[cfg(not(any( 7#[cfg(not(any(
diff --git a/embassy-nrf/src/util.rs b/embassy-nrf/src/util.rs
index b24bc452f..84848e872 100644
--- a/embassy-nrf/src/util.rs
+++ b/embassy-nrf/src/util.rs
@@ -19,10 +19,10 @@ pub(crate) fn slice_in_ram<T>(slice: *const [T]) -> bool {
19 ptr >= SRAM_LOWER && (ptr + len * core::mem::size_of::<T>()) < SRAM_UPPER 19 ptr >= SRAM_LOWER && (ptr + len * core::mem::size_of::<T>()) < SRAM_UPPER
20} 20}
21 21
22/// Return an error if slice is not in RAM. 22/// Return an error if slice is not in RAM. Skips check if slice is zero-length.
23#[cfg(not(feature = "nrf51"))] 23#[cfg(not(feature = "nrf51"))]
24pub(crate) fn slice_in_ram_or<T, E>(slice: *const [T], err: E) -> Result<(), E> { 24pub(crate) fn slice_in_ram_or<T, E>(slice: *const [T], err: E) -> Result<(), E> {
25 if slice_in_ram(slice) { 25 if slice.len() > 0 && slice_in_ram(slice) {
26 Ok(()) 26 Ok(())
27 } else { 27 } else {
28 Err(err) 28 Err(err)