2013-05-28 06:25:24

by Afzal Mohammed

[permalink] [raw]
Subject: [PATCH] ARM: OMAP2+: timer: initialize before using oh_name

of_property_read_string_index(...,&oh_name) in omap_dm_timer_init_one
does not alter the value of 'oh_name' even if the relevant function
fails and as 'oh_name' in stack may have a non-zero value, it would
be misunderstood by timer code that DT has specified "ti,hwmod"
property for timer. 'oh_name' in this scenario would be a junk value,
this would result in module not being enabled by hwmod API's for
timer, and in turn crash.

Signed-off-by: Afzal Mohammed <[email protected]>
---
arch/arm/mach-omap2/timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index f8b23b8..8e0c390 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -220,7 +220,7 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
int posted)
{
char name[10]; /* 10 = sizeof("gptXX_Xck0") */
- const char *oh_name;
+ const char *oh_name = NULL;
struct device_node *np;
struct omap_hwmod *oh;
struct resource irq, mem;
--
1.7.12


2013-05-28 21:20:50

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH] ARM: OMAP2+: timer: initialize before using oh_name


On 28/05/13 07:24, Afzal Mohammed wrote:
> of_property_read_string_index(...,&oh_name) in omap_dm_timer_init_one
> does not alter the value of 'oh_name' even if the relevant function
> fails and as 'oh_name' in stack may have a non-zero value, it would
> be misunderstood by timer code that DT has specified "ti,hwmod"
> property for timer. 'oh_name' in this scenario would be a junk value,
> this would result in module not being enabled by hwmod API's for
> timer, and in turn crash.
>
> Signed-off-by: Afzal Mohammed <[email protected]>
> ---
> arch/arm/mach-omap2/timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
> index f8b23b8..8e0c390 100644
> --- a/arch/arm/mach-omap2/timer.c
> +++ b/arch/arm/mach-omap2/timer.c
> @@ -220,7 +220,7 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
> int posted)
> {
> char name[10]; /* 10 = sizeof("gptXX_Xck0") */
> - const char *oh_name;
> + const char *oh_name = NULL;
> struct device_node *np;
> struct omap_hwmod *oh;
> struct resource irq, mem;

Thanks!

Acked-by: Jon Hunter <[email protected]>

Cheers
Jon

2013-07-04 11:47:40

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH] ARM: OMAP2+: timer: initialize before using oh_name

* Jon Hunter <[email protected]> [130528 14:26]:
>
> On 28/05/13 07:24, Afzal Mohammed wrote:
> > of_property_read_string_index(...,&oh_name) in omap_dm_timer_init_one
> > does not alter the value of 'oh_name' even if the relevant function
> > fails and as 'oh_name' in stack may have a non-zero value, it would
> > be misunderstood by timer code that DT has specified "ti,hwmod"
> > property for timer. 'oh_name' in this scenario would be a junk value,
> > this would result in module not being enabled by hwmod API's for
> > timer, and in turn crash.
> >
> > Signed-off-by: Afzal Mohammed <[email protected]>
> > ---
> > arch/arm/mach-omap2/timer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
> > index f8b23b8..8e0c390 100644
> > --- a/arch/arm/mach-omap2/timer.c
> > +++ b/arch/arm/mach-omap2/timer.c
> > @@ -220,7 +220,7 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
> > int posted)
> > {
> > char name[10]; /* 10 = sizeof("gptXX_Xck0") */
> > - const char *oh_name;
> > + const char *oh_name = NULL;
> > struct device_node *np;
> > struct omap_hwmod *oh;
> > struct resource irq, mem;
>
> Thanks!
>
> Acked-by: Jon Hunter <[email protected]>

Thanks, applying into omap-for-v3.11/fixes.

Tony