mtd: spi-nor: core: Add erase size check for erase command initialization
commit 58fa22f68fcaff20ce4d08a6adffa64f65ccd37d upstream.
Even if erase type is same as previous region, erase size can be different
if the previous region is overlaid region. Since 'region->size' is assigned
to 'cmd->size' for overlaid region, comparing 'erase->size' and 'cmd->size'
can detect previous overlaid region.
Fixes: 5390a8df76
("mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories")
Cc: stable@vger.kernel.org
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
[ta: Add Fixes tag and Cc to stable]
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/13d47e8d8991b8a7fd8cc7b9e2a5319c56df35cc.1601612872.git.Takahiro.Kuwano@infineon.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3ab1349656
commit
61dfd4fbbd
@ -1153,6 +1153,7 @@ static int spi_nor_init_erase_cmd_list(struct spi_nor *nor,
|
||||
goto destroy_erase_cmd_list;
|
||||
|
||||
if (prev_erase != erase ||
|
||||
erase->size != cmd->size ||
|
||||
region->offset & SNOR_OVERLAID_REGION) {
|
||||
cmd = spi_nor_init_erase_cmd(region, erase);
|
||||
if (IS_ERR(cmd)) {
|
||||
|
Loading…
Reference in New Issue
Block a user