mtd: rawnand: placate "$VARIABLE is used uninitialized" warnings
authorAdam Borowski <kilobyte@angband.pl>
Mon, 24 Oct 2022 09:20:26 +0000 (11:20 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 7 Nov 2022 15:49:31 +0000 (16:49 +0100)
The compiler is not smart enough to notice that it's impossible for
them to be actually used uninitialized.  Which exact variables trip
here varies depending on random surrounding code; none triggered in
6.1-rc1 but 6.1-rc2 fails on three of these five, despite variables
declared in the very same line having identical flow.

Signed-off-by: Adam Borowski <kilobyte@angband.pl>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20221024092026.42123-1-kilobyte@angband.pl
drivers/mtd/nand/raw/nand_base.c

index 33f2c98..c3cc660 100644 (file)
@@ -5834,7 +5834,7 @@ nand_match_ecc_req(struct nand_chip *chip,
        int req_step = requirements->step_size;
        int req_strength = requirements->strength;
        int req_corr, step_size, strength, nsteps, ecc_bytes, ecc_bytes_total;
-       int best_step, best_strength, best_ecc_bytes;
+       int best_step = 0, best_strength = 0, best_ecc_bytes = 0;
        int best_ecc_bytes_total = INT_MAX;
        int i, j;
 
@@ -5915,7 +5915,7 @@ nand_maximize_ecc(struct nand_chip *chip,
        int step_size, strength, nsteps, ecc_bytes, corr;
        int best_corr = 0;
        int best_step = 0;
-       int best_strength, best_ecc_bytes;
+       int best_strength = 0, best_ecc_bytes = 0;
        int i, j;
 
        for (i = 0; i < caps->nstepinfos; i++) {