]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mtd: r852: make ecc_reg 32-bit in r852_ecc_correct
authorNicolas Iooss <nicolas.iooss_linux@m4x.org>
Sun, 5 Jul 2015 01:57:41 +0000 (09:57 +0800)
committerBrian Norris <computersforpeace@gmail.com>
Mon, 20 Jul 2015 17:38:25 +0000 (10:38 -0700)
commitcef1ed9c6bcf69245c0b9eb89b3f3a45049ba10c
treede6f8a1b084250418a75b894b989f6f60bb6b861
parenta11244c0b25b79d2a3b07df429268d66736e5b45
mtd: r852: make ecc_reg 32-bit in r852_ecc_correct

r852_ecc_correct() reads a 32-bit register into a 16-bit variable,
ecc_reg, but this variable is later used as if it was larger.  This is
reported by clang when building the kernel with many warnings:

    drivers/mtd/nand/r852.c:512:11: error: shift count >= width of type
    [-Werror,-Wshift-count-overflow]
                    ecc_reg >>= 16;
                            ^   ~~
Fix this by making ecc_reg 32-bit, like the return type of
r852_read_reg_dword().

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/r852.c