Modifying subject line since lists.arm.linux.org.uk mail server bounces
subjects containing "xxx".

- Paul

On Tue, 14 Apr 2009, Paul Walmsley wrote:

> Commit 8ad8ff6548f1c0bcbeaa02f274b3927c5015a921 breaks the OMAP2xxx
> cpu_mask code, which causes OMAP2xxx to panic on boot.  Fix by
> removing the cpu_mask auto variable and by changing CK_242X
> and CK_243X to use RATE_IN_242X/RATE_IN_243X.
> 
> Resolves
> 
> <1>Unable to handle kernel NULL pointer dereference at virtual address 
> 0000000c
> <1>pgd = c0004000
> <1>[0000000c] *pgd=00000000
> Internal error: Oops: 5 [#1]
> Modules linked in:
> CPU: 0    Not tainted  (2.6.29-omap1 #32)
> PC is at omap2_clk_set_parent+0x104/0x120
> LR is at omap2_clk_set_parent+0x28/0x120
> 
> Signed-off-by: Paul Walmsley <[email protected]>
> Tested-by: Jarkko Nikula <[email protected]>
> Cc: Russell King <[email protected]>
> ---
>  arch/arm/mach-omap2/clock24xx.c |   12 +++---------
>  1 files changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
> index 3b7ecc6..4306392 100644
> --- a/arch/arm/mach-omap2/clock24xx.c
> +++ b/arch/arm/mach-omap2/clock24xx.c
> @@ -60,8 +60,8 @@ struct omap_clk {
>               },                      \
>       }
>  
> -#define CK_243X      (1 << 0)
> -#define CK_242X      (1 << 1)
> +#define CK_243X                      RATE_IN_243X
> +#define CK_242X                      RATE_IN_242X
>  
>  static struct omap_clk omap24xx_clks[] = {
>       /* external root sources */
> @@ -711,7 +711,7 @@ int __init omap2_clk_init(void)
>  {
>       struct prcm_config *prcm;
>       struct omap_clk *c;
> -     u32 clkrate, cpu_mask;
> +     u32 clkrate;
>  
>       if (cpu_is_omap242x())
>               cpu_mask = RATE_IN_242X;
> @@ -730,12 +730,6 @@ int __init omap2_clk_init(void)
>       for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); 
> c++)
>               clk_init_one(c->lk.clk);
>  
> -     cpu_mask = 0;
> -     if (cpu_is_omap2420())
> -             cpu_mask |= CK_242X;
> -     if (cpu_is_omap2430())
> -             cpu_mask |= CK_243X;
> -
>       for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); 
> c++)
>               if (c->cpu & cpu_mask) {
>                       clkdev_add(&c->lk);
> 
> 


- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to