From ac82229d4e0a060194f66f44cb65fb98f3524e41 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Fri, 25 Oct 2019 14:28:34 +0000 Subject: mtd: spi-nor: Make sure nor->spimem and nor->controller_ops are mutually exclusive 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 Signed-off-by: Tudor Ambarus Reviewed-by: Boris Brezillon --- drivers/mtd/spi-nor/spi-nor.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'drivers/mtd') 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 @@ write_err: 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; } -- cgit v1.2.3