[bug report] mtd: plat_nand: request memory resource before doing ioremap
Dan Carpenter
dan.carpenter at oracle.com
Tue Feb 20 00:41:15 PST 2018
[ This is really weird that Smatch is complaining about ancient code
today. No idea why. - dan ]
Hello H Hartley Sweeten,
The patch 2d098a725333: "mtd: plat_nand: request memory resource
before doing ioremap" from Oct 19, 2009, leads to the following
static checker warning:
drivers/mtd/nand/raw/plat_nand.c:100 plat_nand_probe()
info: return a literal instead of 'err'
drivers/mtd/nand/raw/plat_nand.c
78
79 platform_set_drvdata(pdev, data);
80
81 /* Handle any platform specific setup */
82 if (pdata->ctrl.probe) {
83 err = pdata->ctrl.probe(pdev);
84 if (err)
85 goto out;
86 }
87
88 /* Scan to find existence of the device */
89 err = nand_scan(mtd, pdata->chip.nr_chips);
90 if (err)
91 goto out;
92
93 part_types = pdata->chip.part_probe_types;
94
95 err = mtd_device_parse_register(mtd, part_types, NULL,
96 pdata->chip.partitions,
97 pdata->chip.nr_partitions);
98
99 if (!err)
100 return err;
^^^^^^^^^^^^^^^^^^^
Ugh... Success handling. There seems to be a lot of it in this
subsystem. :(
101
102 nand_release(mtd);
^^^
This call to nand_release() makes no sense. It calls unregister but
mtd_device_parse_register() failed.
103 out:
104 if (pdata->ctrl.remove)
105 pdata->ctrl.remove(pdev);
106 return err;
107 }
regards,
dan carpenter
More information about the linux-mtd
mailing list