On Fri, 25 Oct 2019 14:28:36 +0000 <Tudor.Ambarus@xxxxxxxxxxxxx> wrote: > From: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> > > When the controller is not under the SPI-MEM interface it may implement > the optional controller_ops->erase() method. > > nor->spimem and nor->controller_ops are mutual exclusive. Move the ^mutually > nor->controller_ops->erase != NULL check as an 'else if' case to > nor->spimem, in order to avoid the nor->controller_ops != NULL > check. > > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > --- > v2: add Reported-by tag, amend commit description. > > drivers/mtd/spi-nor/spi-nor.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c > index b452d3d0de28..8eaf097098d9 100644 > --- a/drivers/mtd/spi-nor/spi-nor.c > +++ b/drivers/mtd/spi-nor/spi-nor.c > @@ -942,9 +942,6 @@ static int spi_nor_erase_sector(struct spi_nor *nor, u32 addr) > > addr = spi_nor_convert_addr(nor, addr); > > - if (nor->controller_ops && nor->controller_ops->erase) > - return nor->controller_ops->erase(nor, addr); > - > if (nor->spimem) { > struct spi_mem_op op = > SPI_MEM_OP(SPI_MEM_OP_CMD(nor->erase_opcode, 1), > @@ -953,6 +950,8 @@ static int spi_nor_erase_sector(struct spi_nor *nor, u32 addr) > SPI_MEM_OP_NO_DATA); > > return spi_mem_exec_op(nor->spimem, &op); > + } else if (nor->controller_ops->erase) { > + return nor->controller_ops->erase(nor, addr); > } > > /* ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/