From mboxrd@z Thu Jan 1 00:00:00 1970
From: Pratyush Yadav
Date: Fri, 2 Apr 2021 01:01:19 +0530
Subject: [PATCH v8 14/28] mtd: spi-nor-core: Do not set data direction when
there is no data
In-Reply-To: <20210401193133.18129-1-p.yadav@ti.com>
References: <20210401193133.18129-1-p.yadav@ti.com>
Message-ID: <20210401193133.18129-15-p.yadav@ti.com>
List-Id:
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
To: u-boot@lists.denx.de
Even when spi_nor_write_reg() has no data to write, like when executing
a write enable operation, it sets the data direction to
SPI_MEM_DATA_OUT. This trips up spi_mem_check_buswidth() because it
expects a data phase when there is none. Make sure the data direction is
set to SPI_MEM_NO_DATA when there is no data to write.
Signed-off-by: Pratyush Yadav
---
drivers/mtd/spi/spi-nor-core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index b2a25b0099..1816319ad0 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -209,6 +209,9 @@ static int spi_nor_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len)
SPI_MEM_OP_NO_DUMMY,
SPI_MEM_OP_DATA_OUT(len, NULL, 1));
+ if (len == 0)
+ op.data.dir = SPI_MEM_NO_DATA;
+
return spi_nor_read_write_reg(nor, &op, buf);
}
--
2.30.0