mtd: ichxrom: maybe-uninitialized with gcc-4.9
pci_read_config_word() might fail and not initialize its output, as pointed out by older versions of gcc when using the -Wmaybe-unintialized flag: drivers/mtd/maps/ichxrom.c: In function ‘ichxrom_cleanup’: drivers/mtd/maps/ichxrom.c:63:2: error: ‘word’ is used uninitialized in this function [-Werror=uninitialized] This is apparently a correct warning, though it does not show up with newer compilers. Changing the code to not attempt to write back uninitialized data into PCI config space is a correct fix for the problem and avoids the warning. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
This commit is contained in:
parent
6080ef6e7c
commit
e70dda0868
|
@ -57,10 +57,12 @@ static void ichxrom_cleanup(struct ichxrom_window *window)
|
|||
{
|
||||
struct ichxrom_map_info *map, *scratch;
|
||||
u16 word;
|
||||
int ret;
|
||||
|
||||
/* Disable writes through the rom window */
|
||||
pci_read_config_word(window->pdev, BIOS_CNTL, &word);
|
||||
pci_write_config_word(window->pdev, BIOS_CNTL, word & ~1);
|
||||
ret = pci_read_config_word(window->pdev, BIOS_CNTL, &word);
|
||||
if (!ret)
|
||||
pci_write_config_word(window->pdev, BIOS_CNTL, word & ~1);
|
||||
pci_dev_put(window->pdev);
|
||||
|
||||
/* Free all of the mtd devices */
|
||||
|
|
Loading…
Reference in New Issue