diff --git a/drivers/mtd/onenand/onenand_spl.c b/drivers/mtd/onenand/onenand_spl.c index 1925f41d8a..6fad34aa1d 100644 --- a/drivers/mtd/onenand/onenand_spl.c +++ b/drivers/mtd/onenand/onenand_spl.c @@ -110,9 +110,12 @@ static u8 scratch_buf[PAGE_4K]; */ int onenand_spl_read_block(int block, int offset, int len, void *dst) { - int page, read, psize; + int page, read; + static int psize; + + if (!psize) + psize = onenand_spl_get_geometry(); - psize = onenand_spl_get_geometry(); /* Calculate the page number */ page = offset / psize; /* Offset to the start of a flash page */