From 02581f4c056d9aee15fdd4fe09d0407102810e29 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 8 Nov 2014 11:55:55 +1100 Subject: [PATCH] HAL_Linux: re-fix dirty mask bug in Storage when conversion to a single parent class was done it re-introduced a bug that was fixed a while ago See commit d238ff7c5dbeb37657cf5980bcbe29fc2c82ffa2 --- libraries/AP_HAL_Linux/Storage.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/AP_HAL_Linux/Storage.cpp b/libraries/AP_HAL_Linux/Storage.cpp index 9bca11d0e8..a86bb86eaa 100644 --- a/libraries/AP_HAL_Linux/Storage.cpp +++ b/libraries/AP_HAL_Linux/Storage.cpp @@ -83,10 +83,10 @@ void LinuxStorage::_storage_open(void) void LinuxStorage::_mark_dirty(uint16_t loc, uint16_t length) { uint16_t end = loc + length; - while (loc < end) { - uint8_t line = (loc >> LINUX_STORAGE_LINE_SHIFT); - _dirty_mask |= 1 << line; - loc += LINUX_STORAGE_LINE_SIZE; + for (uint8_t line=loc>>LINUX_STORAGE_LINE_SHIFT; + line <= end>>LINUX_STORAGE_LINE_SHIFT; + line++) { + _dirty_mask |= 1U << line; } }