From: Jeroen Domburg Date: Mon, 3 Jul 2017 10:00:25 +0000 (+0800) Subject: esp_partition_mmap could map a page less than needed because it did not take the... X-Git-Tag: v3.1-dev~485^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=93b7eaf5b2a7d4b182a8ffae3b51a78146f4a038;p=esp-idf esp_partition_mmap could map a page less than needed because it did not take the region offset into account. --- diff --git a/components/spi_flash/partition.c b/components/spi_flash/partition.c index 94d6ff6a66..1c3ac610fa 100644 --- a/components/spi_flash/partition.c +++ b/components/spi_flash/partition.c @@ -315,7 +315,7 @@ esp_err_t esp_partition_mmap(const esp_partition_t* partition, uint32_t offset, // offset within 64kB block size_t region_offset = phys_addr & 0xffff; size_t mmap_addr = phys_addr & 0xffff0000; - esp_err_t rc = spi_flash_mmap(mmap_addr, size, memory, out_ptr, out_handle); + esp_err_t rc = spi_flash_mmap(mmap_addr, size+region_offset, memory, out_ptr, out_handle); // adjust returned pointer to point to the correct offset if (rc == ESP_OK) { *out_ptr = (void*) (((ptrdiff_t) *out_ptr) + region_offset);