On Thu, 2024-05-16 at 13:13:19 UTC, Miquel Raynal wrote: > The nand_read_data_op() operation, which only consists in DATA_IN > cycles, is sadly not supported by all controllers despite being very > basic. The core, for some time, supposed all drivers would support > it. An improvement to this situation for supporting more constrained > controller added a check to verify if the operation was supported before > attempting it by running the function with the check_only boolean set > first, and then possibly falling back to another (possibly slightly less > optimized) alternative. > > An even newer addition moved that check very early and probe time, in > order to perform the check only once. The content of the operation was > not so important, as long as the controller driver would tell whether > such operation on the NAND bus would be possible or not. In practice, no > buffer was provided (no fake buffer or whatever) as it is anyway not > relevant for the "check_only" condition. Unfortunately, early in the > function, there is an if statement verifying that the input parameters > are right for normal use, making the early check always unsuccessful. > > Fixes: 9f820fc0651c ("mtd: rawnand: Check the data only read pattern only once") > Cc: stable@xxxxxxxxxxxxxxx > Reported-by: Alexander Dahl <ada@xxxxxxxxxxx> > Closes: https://lore.kernel.org/linux-mtd/20240306-shaky-bunion-d28b65ea97d7@xxxxxxxxxxx/ > Reported-by: Steven Seeger <steven.seeger@xxxxxxxxxxxxxxxxx> > Closes: https://lore.kernel.org/linux-mtd/DM6PR05MB4506554457CF95191A670BDEF7062@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > Reviewed-by: Alexander Dahl <ada@xxxxxxxxxxx> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes. Miquel