From 631cc1e33ae214d4660fea0971a759503d1a958d Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Fri, 26 May 2017 16:08:50 +0200 Subject: [PATCH] ftl: fix order of preliminary checks --- source/ftl/ftl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/ftl/ftl.c b/source/ftl/ftl.c index 0d49a12..9f8d1d3 100644 --- a/source/ftl/ftl.c +++ b/source/ftl/ftl.c @@ -25,6 +25,11 @@ size_t ftl_read(struct ftl_map *map, void *data, size_t len, uint32_t va) int ret; uint32_t mask, offset, page; + if (!data) + return 0; + + len = min(len, (1 << map->log2_page_size) - offset); + mask = ((1 << map->log2_page_size) - 1); offset = va & mask; va >>= map->log2_page_size; @@ -34,11 +39,6 @@ size_t ftl_read(struct ftl_map *map, void *data, size_t len, uint32_t va) return len; } - if (!data) - return 0; - - len = min(len, (1 << map->log2_page_size) - offset); - return flash_read(map->dev, (page << map->log2_page_size) + offset, data, len); }