[POWERPC] fsl_soc: fix uninitialized i2c_board_info structure
authorAnton Vorontsov <avorontsov@ru.mvista.com>
Tue, 2 Oct 2007 13:47:40 +0000 (17:47 +0400)
committerKumar Gala <galak@kernel.crashing.org>
Thu, 4 Oct 2007 20:47:23 +0000 (15:47 -0500)
i2c_board_info used semi-initialized, causing garbage in the
info->flags, and that, in turn, causes various symptoms of i2c
malfunctioning, like PEC mismatches.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/sysdev/fsl_soc.c

index 4a16456..91987e0 100644 (file)
@@ -363,7 +363,7 @@ static void __init of_register_i2c_devices(struct device_node *adap_node,
        struct device_node *node = NULL;
 
        while ((node = of_get_next_child(adap_node, node))) {
-               struct i2c_board_info info;
+               struct i2c_board_info info = {};
                const u32 *addr;
                int len;
 
@@ -380,7 +380,6 @@ static void __init of_register_i2c_devices(struct device_node *adap_node,
                if (of_find_i2c_driver(node, &info) < 0)
                        continue;
 
-               info.platform_data = NULL;
                info.addr = *addr;
 
                i2c_register_board_info(bus_num, &info, 1);