
From: Fabio Estevam fabio.estevam@nxp.com
stm_is_locked_sr() takes the status register (SR) value as the last parameter, not the second.
Based on a patch from Brian Norris for the linux kernel: http://git.infradead.org/linux-mtd.git/commitdiff/a32d5b726ff8cf32bf491522b0...
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com --- drivers/mtd/spi/spi_flash.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c index 7ffa136..b7b7f00 100644 --- a/drivers/mtd/spi/spi_flash.c +++ b/drivers/mtd/spi/spi_flash.c @@ -767,8 +767,8 @@ int stm_unlock(struct spi_flash *flash, u32 ofs, size_t len) return ret;
/* Cannot unlock; would unlock larger region than requested */ - if (stm_is_locked_sr(flash, status_old, ofs - flash->erase_size, - flash->erase_size)) + if (stm_is_locked_sr(flash, ofs - flash->erase_size, flash->erase_size, + status_old)) return -EINVAL; /* * Need largest pow such that: