Message ID | 1390291581-5858-1-git-send-email-linus.walleij@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jan 21, 2014 at 09:06:21AM +0100, Linus Walleij wrote: > The Nomadik debugfs screws up multiplatform boots if debugfs > is enabled on the multiplatform image, since it's a simple > initcall that is unconditionally executed and reads from certain > memory locations. > > Fix this by checking that the driver has been properly > initialized, so a base offset to the Nomadik SRC controller > exists, before proceeding to register debugfs files. > > Reported-by: Andrew Lunn <andrew@lunn.ch> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Hi Linus Thanks for fixing this so quick. I tested on my kirkwood, no longer crashes. Tested-by: Andrew Lunn <andrew@lunn.ch> Thanks Andrew > --- > drivers/clk/clk-nomadik.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/clk/clk-nomadik.c b/drivers/clk/clk-nomadik.c > index 6a934a5296bd..05e04ce0f148 100644 > --- a/drivers/clk/clk-nomadik.c > +++ b/drivers/clk/clk-nomadik.c > @@ -494,6 +494,9 @@ static const struct file_operations nomadik_src_clk_debugfs_ops = { > > static int __init nomadik_src_clk_init_debugfs(void) > { > + /* Vital for multiplatform */ > + if (!src_base) > + return -ENODEV; > src_pcksr0_boot = readl(src_base + SRC_PCKSR0); > src_pcksr1_boot = readl(src_base + SRC_PCKSR1); > debugfs_create_file("nomadik-src-clk", S_IFREG | S_IRUGO, > -- > 1.8.4.2 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Tue, Jan 21, 2014 at 9:06 AM, Linus Walleij <linus.walleij@linaro.org> wrote: > The Nomadik debugfs screws up multiplatform boots if debugfs > is enabled on the multiplatform image, since it's a simple > initcall that is unconditionally executed and reads from certain > memory locations. > > Fix this by checking that the driver has been properly > initialized, so a base offset to the Nomadik SRC controller > exists, before proceeding to register debugfs files. > > Reported-by: Andrew Lunn <andrew@lunn.ch> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Ping Mike, pls pick this for fixes! Yours, Linus Walleij
On Wed, Jan 29, 2014 at 9:07 AM, Linus Walleij <linus.walleij@linaro.org> wrote: > On Tue, Jan 21, 2014 at 9:06 AM, Linus Walleij <linus.walleij@linaro.org> wrote: > >> The Nomadik debugfs screws up multiplatform boots if debugfs >> is enabled on the multiplatform image, since it's a simple >> initcall that is unconditionally executed and reads from certain >> memory locations. >> >> Fix this by checking that the driver has been properly >> initialized, so a base offset to the Nomadik SRC controller >> exists, before proceeding to register debugfs files. >> >> Reported-by: Andrew Lunn <andrew@lunn.ch> >> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > > Ping Mike, pls pick this for fixes! Ping Mike, this needs to go into fixes! ARM SoC folks: Mike seems to be busy, maybe you can pick this patch into the ARM SoC tree instead? Yours, Linus Walleij
Quoting Linus Walleij (2014-02-25 13:35:37) > On Wed, Jan 29, 2014 at 9:07 AM, Linus Walleij <linus.walleij@linaro.org> wrote: > > On Tue, Jan 21, 2014 at 9:06 AM, Linus Walleij <linus.walleij@linaro.org> wrote: > > > >> The Nomadik debugfs screws up multiplatform boots if debugfs > >> is enabled on the multiplatform image, since it's a simple > >> initcall that is unconditionally executed and reads from certain > >> memory locations. > >> > >> Fix this by checking that the driver has been properly > >> initialized, so a base offset to the Nomadik SRC controller > >> exists, before proceeding to register debugfs files. > >> > >> Reported-by: Andrew Lunn <andrew@lunn.ch> > >> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > > > > Ping Mike, pls pick this for fixes! > > Ping Mike, this needs to go into fixes! Taken into clk-fixes for the next batch. Thanks! Mike > > ARM SoC folks: Mike seems to be busy, maybe you can pick > this patch into the ARM SoC tree instead? > > Yours, > Linus Walleij
diff --git a/drivers/clk/clk-nomadik.c b/drivers/clk/clk-nomadik.c index 6a934a5296bd..05e04ce0f148 100644 --- a/drivers/clk/clk-nomadik.c +++ b/drivers/clk/clk-nomadik.c @@ -494,6 +494,9 @@ static const struct file_operations nomadik_src_clk_debugfs_ops = { static int __init nomadik_src_clk_init_debugfs(void) { + /* Vital for multiplatform */ + if (!src_base) + return -ENODEV; src_pcksr0_boot = readl(src_base + SRC_PCKSR0); src_pcksr1_boot = readl(src_base + SRC_PCKSR1); debugfs_create_file("nomadik-src-clk", S_IFREG | S_IRUGO,
The Nomadik debugfs screws up multiplatform boots if debugfs is enabled on the multiplatform image, since it's a simple initcall that is unconditionally executed and reads from certain memory locations. Fix this by checking that the driver has been properly initialized, so a base offset to the Nomadik SRC controller exists, before proceeding to register debugfs files. Reported-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- drivers/clk/clk-nomadik.c | 3 +++ 1 file changed, 3 insertions(+)