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 <[EMAIL PROTECTED]>
---
 arch/powerpc/sysdev/fsl_soc.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 4a16456..91987e0 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -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);
-- 
1.5.0.6

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to