Message ID | 1391081821-13306-1-git-send-email-ivan.khoronzhuk@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@ti.com] > *Received:* Thursday, 30 Jan 2014, 6:37am > *To:* Shilimkar, Santosh [santosh.shilimkar@ti.com] > *CC:* mturquette@linaro.org [mturquette@linaro.org]; > linux-arm-kernel@lists.infradead.org [linux-arm-kernel@lists.infradead.org]; > linux-kernel@vger.kernel.org [linux-kernel@vger.kernel.org]; Khoronzhuk, Ivan > [ivan.khoronzhuk@ti.com] > *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@ti.com> > --- > 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 >
On Thursday 30 January 2014 08:49 AM, Ivan Khoronzhuk wrote: > 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. > Can you please update the change log with above information. > 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@ti.com] >> *Received:* Thursday, 30 Jan 2014, 6:37am >> *To:* Shilimkar, Santosh [santosh.shilimkar@ti.com] >> *CC:* mturquette@linaro.org [mturquette@linaro.org]; >> linux-arm-kernel@lists.infradead.org [linux-arm-kernel@lists.infradead.org]; >> linux-kernel@vger.kernel.org [linux-kernel@vger.kernel.org]; Khoronzhuk, Ivan >> [ivan.khoronzhuk@ti.com] >> *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@ti.com> >> --- >> 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 >> >
Ok On 01/30/2014 04:32 PM, Santosh Shilimkar wrote: > On Thursday 30 January 2014 08:49 AM, Ivan Khoronzhuk wrote: >> 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. >> > Can you please update the change log with above information. > >> 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@ti.com] >>> *Received:* Thursday, 30 Jan 2014, 6:37am >>> *To:* Shilimkar, Santosh [santosh.shilimkar@ti.com] >>> *CC:* mturquette@linaro.org [mturquette@linaro.org]; >>> linux-arm-kernel@lists.infradead.org [linux-arm-kernel@lists.infradead.org]; >>> linux-kernel@vger.kernel.org [linux-kernel@vger.kernel.org]; Khoronzhuk, Ivan >>> [ivan.khoronzhuk@ti.com] >>> *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@ti.com> >>> --- >>> 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 >>>
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);
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@ti.com> --- drivers/clk/keystone/gate.c | 1 + 1 file changed, 1 insertion(+)