[PATCH v2 1/2] mtd: spi-nor: Make sure nor->spimem and nor->controller_ops are mutual exclusive

Boris Brezillon boris.brezillon at collabora.com
Mon Nov 11 01:02:41 PST 2019


On Fri, 25 Oct 2019 14:28:34 +0000
<Tudor.Ambarus at microchip.com> wrote:

> From: Tudor Ambarus <tudor.ambarus at microchip.com>
> 
> Expand the spi_nor_check() to make sure that nor->spimem and
> nor->controller_ops are mutual exclusive.

			  ^mutually

> 
> Fixes: b35b9a10362d ("mtd: spi-nor: Move m25p80 code in spi-nor.c")
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
> Signed-off-by: Tudor Ambarus <tudor.ambarus at microchip.com>
> ---
> v2: new patch
> 
>  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 a6f9f833c862..b452d3d0de28 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -2741,6 +2741,12 @@ static int spi_nor_check(struct spi_nor *nor)
>  		return -EINVAL;
>  	}
>  
> +	if ((nor->spimem && nor->controller_ops) ||
> +	    (!nor->spimem && !nor->controller_ops)) {
> +		dev_err(nor->dev, "nor->spimem and nor->controller_ops are mutual exclusive\n");

Hm, the test does more than checking that only one of nor->spimem
nor->controller_ops is set, it also checks that at least one of them is
provided. Maybe you should split those tests and have a different error
message for each, or make the error message more generic.

> +		return -EINVAL;
> +	}
> +
>  	return 0;
>  }
>  




More information about the linux-mtd mailing list