Re: [PATCH 2/2] mtd: spi-nor: intel-spi: fix forced writable option

From: Vignesh Raghavendra
Date: Thu May 28 2020 - 07:02:19 EST




On 18/05/20 11:29 pm, Daniel Walker wrote:
> This option currently doesn't work as expected. If the BIOS has this
> flash as read-only there is no way to change this thru the driver.
> There is a parameter which allows the flash to become writable with the
> "writable" option to the module, but it does nothing if the BIOS has it
> set to read-only.
>
> I would expect this option would make the flash writable regardless of
> the BIOS settings. This patch changes this option so the BIOS setting
> doesn't stop the writable option from enabling read write on the flash.
>

I am confused you say "If the BIOS has this flash as read-only there is
no way to change this thru the driver", so is it possible to override
BIOS setting? If yes, where is the code in the driver?

What happens if BIOS is set to allow writes but writeable is set to 0?

Also please send patch series as thread (2/2 in reply to 1/2). You can
use tool like git send-email

> Original patch by Jinhua Wu <jinhwu@xxxxxxxxx>
>
> Cc: Jinhua Wu <jinhwu@xxxxxxxxx>
> Cc: xe-linux-external@xxxxxxxxx
> Signed-off-by: Daniel Walker <danielwa@xxxxxxxxx>
> ---
> drivers/mtd/spi-nor/controllers/intel-spi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/controllers/intel-spi.c b/drivers/mtd/spi-nor/controllers/intel-spi.c
> index e5a3d51a2e4d..68a5877bfc0b 100644
> --- a/drivers/mtd/spi-nor/controllers/intel-spi.c
> +++ b/drivers/mtd/spi-nor/controllers/intel-spi.c
> @@ -954,7 +954,7 @@ struct intel_spi *intel_spi_probe(struct device *dev,
> intel_spi_fill_partition(ispi, &part);
>
> /* Prevent writes if not explicitly enabled */
> - if (!ispi->writeable || !writeable)
> + if (!ispi->writeable && !writeable)
> ispi->nor.mtd.flags &= ~MTD_WRITEABLE;
>
> ret = mtd_device_register(&ispi->nor.mtd, &part, 1);
>