]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
mtd: spi-nor: Make sure the QE bit is kept enabled if useful
authorMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 26 May 2026 14:56:28 +0000 (16:56 +0200)
committerPratyush Yadav <pratyush@kernel.org>
Tue, 26 May 2026 15:21:03 +0000 (17:21 +0200)
commitf316b8535887c50be009902bd02098fddb47e2e7
treea9aba1db7d96877f22fe8d74b3e3feeb83313260
parenta6470e2162e9c3779a4bd6ff3bed1b81d796e46e
mtd: spi-nor: Make sure the QE bit is kept enabled if useful

Not all chips implement the 4BAIT table which typically indicates the
program capability, while many of them do implement the relevant SFDP
parts indicating the read capabilities. In such a situation, programs
can happen in single mode (1-1-1) and reads in quad mode (1-1-4 or
1-4-4). For the reads to work in such condition, the QE bit must be set.
In case we later use the spi_nor_write_16bit_sr_and_check() helper with
a chip with such configuration, the QE bit would get incorrectly
cleared.

Make sure this doesn't happen by keeping the QE bit under a simpler
condition:
- the quad enable hook is there (no change)
- and at least one of the two protocols is based on quad I/O cycles

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Pratyush Yadav <pratyush@kernel.org>
Signed-off-by: Pratyush Yadav <pratyush@kernel.org>
drivers/mtd/spi-nor/core.c