mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 04:46:01 +01:00
mtd: spi-nor-core: Don't overwrite return value if it is non-zero
The cleanup code of the spi_nor_erase() function overwrites the ret variable with return value of clean_bar(), even if the ret variable is already set. Fix this. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
This commit is contained in:
parent
5ea6dccee4
commit
a9d9d412e0
@ -909,7 +909,7 @@ static int spi_nor_erase(struct mtd_info *mtd, struct erase_info *instr)
|
|||||||
{
|
{
|
||||||
struct spi_nor *nor = mtd_to_spi_nor(mtd);
|
struct spi_nor *nor = mtd_to_spi_nor(mtd);
|
||||||
u32 addr, len, rem;
|
u32 addr, len, rem;
|
||||||
int ret;
|
int ret, err;
|
||||||
|
|
||||||
dev_dbg(nor->dev, "at 0x%llx, len %lld\n", (long long)instr->addr,
|
dev_dbg(nor->dev, "at 0x%llx, len %lld\n", (long long)instr->addr,
|
||||||
(long long)instr->len);
|
(long long)instr->len);
|
||||||
@ -949,7 +949,9 @@ static int spi_nor_erase(struct mtd_info *mtd, struct erase_info *instr)
|
|||||||
|
|
||||||
erase_err:
|
erase_err:
|
||||||
#ifdef CONFIG_SPI_FLASH_BAR
|
#ifdef CONFIG_SPI_FLASH_BAR
|
||||||
ret = clean_bar(nor);
|
err = clean_bar(nor);
|
||||||
|
if (!ret)
|
||||||
|
ret = err;
|
||||||
#endif
|
#endif
|
||||||
write_disable(nor);
|
write_disable(nor);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user