When a word length of 1 byte is selected and writing data of length more than QSPI_WLEN_MAX_BYTES, first MAX_BYTES will be transfered and remaining will be transfered byte by byte. In that case wlen field should be cleared before setting. Signed-off-by: Prahlad V <prahlad.eee@xxxxxxxxx> --- drivers/spi/spi-ti-qspi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c index 29ea8d2..6c61f54 100644 --- a/drivers/spi/spi-ti-qspi.c +++ b/drivers/spi/spi-ti-qspi.c @@ -276,9 +276,9 @@ static int qspi_write_msg(struct ti_qspi *qspi, struct spi_transfer *t, cmd |= QSPI_WLEN(QSPI_WLEN_MAX_BITS); } else { writeb(*txbuf, qspi->base + QSPI_SPI_DATA_REG); - cmd = qspi->cmd | QSPI_WR_SNGL; xfer_len = wlen; - cmd |= QSPI_WLEN(wlen); + cmd = ((qspi->cmd & ~QSPI_WLEN_MASK) | + QSPI_WLEN(wlen)); } break; case 2: -- 2.5.5 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html