This is a note to let you know that I've just added the patch titled mtd: rawnand: diskonchip: Fix the probe error path to the 4.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: mtd-rawnand-diskonchip-fix-the-probe-error-path.patch and it can be found in the queue-4.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Fri Apr 9 11:45:07 AM CEST 2021 From: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> Date: Tue, 19 May 2020 14:59:45 +0200 Subject: mtd: rawnand: diskonchip: Fix the probe error path From: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> commit c5be12e45940f1aa1b5dfa04db5d15ad24f7c896 upstream Not sure nand_cleanup() is the right function to call here but in any case it is not nand_release(). Indeed, even a comment says that calling nand_release() is a bit of a hack as there is no MTD device to unregister. So switch to nand_cleanup() for now and drop this comment. There is no Fixes tag applying here as the use of nand_release() in this driver predates by far the introduction of nand_cleanup() in commit d44154f969a4 ("mtd: nand: Provide nand_cleanup() function to free NAND related resources") which makes this change possible. However, pointing this commit as the culprit for backporting purposes makes sense even if it did not intruce any bug. Fixes: d44154f969a4 ("mtd: nand: Provide nand_cleanup() function to free NAND related resources") Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: https://lore.kernel.org/linux-mtd/20200519130035.1883-13-miquel.raynal@xxxxxxxxxxx [sudip: manual backport to old file] Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/mtd/nand/diskonchip.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) --- a/drivers/mtd/nand/diskonchip.c +++ b/drivers/mtd/nand/diskonchip.c @@ -1608,13 +1608,10 @@ static int __init doc_probe(unsigned lon numchips = doc2001_init(mtd); if ((ret = nand_scan(mtd, numchips)) || (ret = doc->late_init(mtd))) { - /* DBB note: i believe nand_release is necessary here, as + /* DBB note: i believe nand_cleanup is necessary here, as buffers may have been allocated in nand_base. Check with Thomas. FIX ME! */ - /* nand_release will call mtd_device_unregister, but we - haven't yet added it. This is handled without incident by - mtd_device_unregister, as far as I can tell. */ - nand_release(mtd); + nand_cleanup(nand); kfree(mtd); goto fail; } Patches currently in stable-queue which might be from miquel.raynal@xxxxxxxxxxx are queue-4.4/mtd-rawnand-diskonchip-fix-the-probe-error-path.patch queue-4.4/mtd-rawnand-orion-fix-the-probe-error-path.patch queue-4.4/mtd-rawnand-plat_nand-fix-the-probe-error-path.patch queue-4.4/mtd-rawnand-socrates-fix-the-probe-error-path.patch queue-4.4/mtd-rawnand-tmio-fix-the-probe-error-path.patch queue-4.4/mtd-rawnand-pasemi-fix-the-probe-error-path.patch queue-4.4/mtd-rawnand-sharpsl-fix-the-probe-error-path.patch