summaryrefslogtreecommitdiffstats
path: root/drivers/char/ramoops.c
diff options
context:
space:
mode:
authorKees Cook <kees@outflux.net>2012-01-12 17:20:59 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-12 20:13:13 -0800
commitc755201eb5c1e09f3477d0e83ae1e3aadac0e8d1 (patch)
treeaf48ca5cc4ef2173b64e421d7ad550dc10c437f0 /drivers/char/ramoops.c
parentfdb5950754eb3dedb9fea7c8828d3e51d9dbc3f7 (diff)
downloadop-kernel-dev-c755201eb5c1e09f3477d0e83ae1e3aadac0e8d1.zip
op-kernel-dev-c755201eb5c1e09f3477d0e83ae1e3aadac0e8d1.tar.gz
ramoops: update parameters only after successful init
If a platform device exists on the system, but ramoops fails to attach to it, the module parameters are overridden before ramoops can fall back and try to use passed module parameters. Move update to end of init routine. Signed-off-by: Kees Cook <keescook@chromium.org> Cc: Marco Stornelli <marco.stornelli@gmail.com> Cc: Sergiu Iordache <sergiu@chromium.org> Cc: Seiji Aguchi <seiji.aguchi@hds.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/ramoops.c')
-rw-r--r--drivers/char/ramoops.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/char/ramoops.c b/drivers/char/ramoops.c
index 9c152ab..9fec323 100644
--- a/drivers/char/ramoops.c
+++ b/drivers/char/ramoops.c
@@ -147,14 +147,6 @@ static int __init ramoops_probe(struct platform_device *pdev)
cxt->phys_addr = pdata->mem_address;
cxt->record_size = pdata->record_size;
cxt->dump_oops = pdata->dump_oops;
- /*
- * Update the module parameter variables as well so they are visible
- * through /sys/module/ramoops/parameters/
- */
- mem_size = pdata->mem_size;
- mem_address = pdata->mem_address;
- record_size = pdata->record_size;
- dump_oops = pdata->dump_oops;
if (!request_mem_region(cxt->phys_addr, cxt->size, "ramoops")) {
pr_err("request mem region failed\n");
@@ -175,6 +167,15 @@ static int __init ramoops_probe(struct platform_device *pdev)
goto fail1;
}
+ /*
+ * Update the module parameter variables as well so they are visible
+ * through /sys/module/ramoops/parameters/
+ */
+ mem_size = pdata->mem_size;
+ mem_address = pdata->mem_address;
+ record_size = pdata->record_size;
+ dump_oops = pdata->dump_oops;
+
return 0;
fail1:
OpenPOWER on IntegriCloud