diff --git a/libraries/AP_Logger/AP_Logger_File.cpp b/libraries/AP_Logger/AP_Logger_File.cpp index b5b2a32948..977f6857ba 100644 --- a/libraries/AP_Logger/AP_Logger_File.cpp +++ b/libraries/AP_Logger/AP_Logger_File.cpp @@ -689,31 +689,6 @@ int16_t AP_Logger_File::get_log_data(const uint16_t list_entry, const uint16_t p } uint32_t ofs = page * (uint32_t)LOGGER_PAGE_SIZE + offset; - /* - this rather strange bit of code is here to work around a bug - in file offsets in NuttX. Every few hundred blocks of reads - (starting at around 350k into a file) NuttX will get the - wrong offset for sequential reads. The offset it gets is - typically 128k earlier than it should be. It turns out that - calling lseek() with 0 offset and SEEK_CUR works around the - bug. We can remove this once we find the real bug. - */ - if (ofs / 4096 != (ofs+len) / 4096) { - off_t seek_current = AP::FS().lseek(_read_fd, 0, SEEK_CUR); - if (seek_current == (off_t)-1) { - AP::FS().close(_read_fd); - _read_fd = -1; - return -1; - } - if (seek_current != (off_t)_read_offset) { - if (AP::FS().lseek(_read_fd, _read_offset, SEEK_SET) == (off_t)-1) { - AP::FS().close(_read_fd); - _read_fd = -1; - return -1; - } - } - } - if (ofs != _read_offset) { if (AP::FS().lseek(_read_fd, ofs, SEEK_SET) == (off_t)-1) { AP::FS().close(_read_fd);