Re: [PATCH] clk: keystone: gate: fix clk_init_data initialization

From: Ivan Khoronzhuk
Date: Thu Jan 30 2014 - 08:49:59 EST


Yes. As result the clk->flag field contains garbage. In my case it leads
that flag CLK_IGNORE_UNUSED is set for most of clocks. As result a bunch
of unused clocks cannot be disabled.

On 01/30/2014 03:26 PM, Shilimkar, Santosh wrote:
Can u capture the issue withiout this fix?

Sent from my Android phone using TouchDown (www.nitrodesk.com)

-----Original Message-----
*From:* Khoronzhuk, Ivan [ivan.khoronzhuk@xxxxxx]
*Received:* Thursday, 30 Jan 2014, 6:37am
*To:* Shilimkar, Santosh [santosh.shilimkar@xxxxxx]
*CC:* mturquette@xxxxxxxxxx [mturquette@xxxxxxxxxx];
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx [linux-arm-kernel@xxxxxxxxxxxxxxxxxxx];
linux-kernel@xxxxxxxxxxxxxxx [linux-kernel@xxxxxxxxxxxxxxx]; Khoronzhuk, Ivan
[ivan.khoronzhuk@xxxxxx]
*Subject:* [PATCH] clk: keystone: gate: fix clk_init_data initialization

In clk_register_psc() function clk_init_data struct is allocated
in the stack. All members of this struct should be initialized
before using otherwise it will contain garbage. So initialize flags
in this structure too.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxx>
---
drivers/clk/keystone/gate.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/clk/keystone/gate.c b/drivers/clk/keystone/gate.c
index 17a5983..86f1e36 100644
--- a/drivers/clk/keystone/gate.c
+++ b/drivers/clk/keystone/gate.c
@@ -179,6 +179,7 @@ static struct clk *clk_register_psc(struct device *dev,

init.name = name;
init.ops = &clk_psc_ops;
+ init.flags = 0;
init.parent_names = (parent_name ? &parent_name : NULL);
init.num_parents = (parent_name ? 1 : 0);

--
1.8.3.2


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/