mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB
authorLiu Xiang <liu.xiang6@zte.com.cn>
Tue, 28 Aug 2018 14:32:57 +0000 (22:32 +0800)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Fri, 12 Oct 2018 09:48:19 +0000 (11:48 +0200)
If the size of spi-nor flash is larger than 16MB, the read_opcode
is set to SPINOR_OP_READ_1_1_4_4B, and fsl_qspi_get_seqid() will
return -EINVAL when cmd is SPINOR_OP_READ_1_1_4_4B. This can
cause read operation fail.

Fixes: e46ecda764dc ("mtd: spi-nor: Add Freescale QuadSPI driver")
Cc: <stable@vger.kernel.org>
Signed-off-by: Liu Xiang <liu.xiang6@zte.com.cn>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
drivers/mtd/spi-nor/fsl-quadspi.c

index d1ace31..1ff3430 100644 (file)
@@ -478,6 +478,7 @@ static int fsl_qspi_get_seqid(struct fsl_qspi *q, u8 cmd)
 {
        switch (cmd) {
        case SPINOR_OP_READ_1_1_4:
+       case SPINOR_OP_READ_1_1_4_4B:
                return SEQID_READ;
        case SPINOR_OP_WREN:
                return SEQID_WREN;