On Mon, 11 Nov 2019 09:44:08 +0000 <Tudor.Ambarus@xxxxxxxxxxxxx> wrote: > From: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> > > Expand the spi_nor_check() to make sure that nor->spimem and > nor->controller_ops are mutually exclusive. > > Fixes: b35b9a10362d ("mtd: spi-nor: Move m25p80 code in spi-nor.c") > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > --- > v3: > - split checks for better error accuracy > - s/mutual/mutually > > drivers/mtd/spi-nor/spi-nor.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c > index 824649eecd59..f5d24ccf5108 100644 > --- a/drivers/mtd/spi-nor/spi-nor.c > +++ b/drivers/mtd/spi-nor/spi-nor.c > @@ -2878,6 +2878,7 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t to, size_t len, > static int spi_nor_check(struct spi_nor *nor) > { > if (!nor->dev || > + (!nor->spimem && !nor->controller_ops) || > (!nor->spimem && nor->controller_ops && > (!nor->controller_ops->read || > !nor->controller_ops->write || > @@ -2887,6 +2888,11 @@ static int spi_nor_check(struct spi_nor *nor) > return -EINVAL; > } > > + if (nor->spimem && nor->controller_ops) { > + dev_err(nor->dev, "nor->spimem and nor->controller_ops are mutually exclusive, please set just one of them.\n"); > + return -EINVAL; > + } > + > return 0; > } > ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/