summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/raw/diskonchip.c
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2023-12-22 12:45:52 +0100
committerMiquel Raynal <miquel.raynal@bootlin.com>2023-12-22 12:45:52 +0100
commit98d4fda8f2d4bc3fb97958d2ef4c90e161a628f2 (patch)
tree1fa2a33bb433fcb5f31ee4c5786eb76ccc29d25f /drivers/mtd/nand/raw/diskonchip.c
parent67629667079eeda723c6d9a8d56ccd569cfae5cc (diff)
parent023e6aad7e5e7f2e086c399abd0675589c123728 (diff)
downloadlinux-98d4fda8f2d4bc3fb97958d2ef4c90e161a628f2.tar.gz
linux-98d4fda8f2d4bc3fb97958d2ef4c90e161a628f2.tar.bz2
linux-98d4fda8f2d4bc3fb97958d2ef4c90e161a628f2.zip
Merge tag 'nand/for-6.8' into mtd/next
* Raw NAND The most meaningful change being the conversion of the brcmnand driver to the ->exec_op() API, this series brought additional changes to the core in order to help controller drivers to handle themselves the WP pin during destructive operations when relevant. As always, there is as well a whole bunch of miscellaneous W=1 fixes, together with a few runtime fixes (double free, timeout value, OOB layout, missing register initialization) and the usual load of remove callbacks turned into void (which led to switch the txx9ndfmc driver to use module_platform_driver()).
Diffstat (limited to 'drivers/mtd/nand/raw/diskonchip.c')
-rw-r--r--drivers/mtd/nand/raw/diskonchip.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/mtd/nand/raw/diskonchip.c b/drivers/mtd/nand/raw/diskonchip.c
index 5d2ddb037a9a..5243fab9face 100644
--- a/drivers/mtd/nand/raw/diskonchip.c
+++ b/drivers/mtd/nand/raw/diskonchip.c
@@ -1491,10 +1491,12 @@ static int __init doc_probe(unsigned long physadr)
else
numchips = doc2001_init(mtd);
- if ((ret = nand_scan(nand, numchips)) || (ret = doc->late_init(mtd))) {
- /* DBB note: i believe nand_cleanup is necessary here, as
- buffers may have been allocated in nand_base. Check with
- Thomas. FIX ME! */
+ ret = nand_scan(nand, numchips);
+ if (ret)
+ goto fail;
+
+ ret = doc->late_init(mtd);
+ if (ret) {
nand_cleanup(nand);
goto fail;
}