Re: [PATCH] mtd: spi-nor: Fix direction of the write_sr() transfer

From: John Garry
Date: Fri Oct 04 2019 - 07:31:20 EST


On 04/10/2019 11:48, Tudor.Ambarus@xxxxxxxxxxxxx wrote:
John, does this fix your problem?

It fixes the problem in the flash_lock -u command no longer errors like this:
root@ubuntu:/home/john# sudo flash_lock -u /dev/mtd0
flash_lock: error!: could not unlock device: /dev/mtd0

However, with this change, even when the flash is unlocked I cannot write, so there is something else wrong. It's probably a bug in my under-development driver. I'm looking at it now.

Thanks,
John


On 10/04/2019 01:47 PM, Tudor Ambarus - M18064 wrote:
From: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx>

write_sr() sends data to the SPI memory, fix the direction.

Fixes: b35b9a10362d ("mtd: spi-nor: Move m25p80 code in spi-nor.c")
Reported-by: John Garry <john.garry@xxxxxxxxxx>
Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx>
---
drivers/mtd/spi-nor/spi-nor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 1d8621d43160..7acf4a93b592 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -487,7 +487,7 @@ static int write_sr(struct spi_nor *nor, u8 val)
SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_WRSR, 1),
SPI_MEM_OP_NO_ADDR,
SPI_MEM_OP_NO_DUMMY,
- SPI_MEM_OP_DATA_IN(1, nor->bouncebuf, 1));
+ SPI_MEM_OP_DATA_OUT(1, nor->bouncebuf, 1));

return spi_mem_exec_op(nor->spimem, &op);
}