diff options
| author | Til Blechschmidt <[email protected]> | 2022-02-23 22:51:01 +0100 |
|---|---|---|
| committer | Til Blechschmidt <[email protected]> | 2022-02-23 22:51:01 +0100 |
| commit | ed9fad8c7e71d7a868683957bbfdf64c0eca7ffe (patch) | |
| tree | aa4a9eabdbc117c82e3572fa62257591f07c9431 | |
| parent | caad1111f9361471310a527c0da36c139c447936 (diff) | |
Skip EasyDMA slice location check if slice is empty
| -rw-r--r-- | embassy-nrf/src/lib.rs | 2 | ||||
| -rw-r--r-- | embassy-nrf/src/util.rs | 4 |
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"))] |
| 24 | pub(crate) fn slice_in_ram_or<T, E>(slice: *const [T], err: E) -> Result<(), E> { | 24 | pub(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) |
