From 1e0f67a96aedd0b5fbd3ae743e68a26606ea98e8 Mon Sep 17 00:00:00 2001 From: Yue Hu Date: Wed, 23 Jan 2019 16:56:48 +0800 Subject: pstore/ram: Move initialization earlier Since only one single ramoops area allowed at a time, other probes (like device tree) are meaningless, as it will waste CPU resources. So let's check for being already initialized first. Signed-off-by: Yue Hu Signed-off-by: Kees Cook --- fs/pstore/ram.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'fs/pstore') diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c index b2471d430048..d06e2f3e3bec 100644 --- a/fs/pstore/ram.c +++ b/fs/pstore/ram.c @@ -717,15 +717,6 @@ static int ramoops_probe(struct platform_device *pdev) phys_addr_t paddr; int err = -EINVAL; - if (dev_of_node(dev) && !pdata) { - pdata = &pdata_local; - memset(pdata, 0, sizeof(*pdata)); - - err = ramoops_parse_dt(pdev, pdata); - if (err < 0) - goto fail_out; - } - /* * Only a single ramoops area allowed at a time, so fail extra * probes. @@ -735,6 +726,15 @@ static int ramoops_probe(struct platform_device *pdev) goto fail_out; } + if (dev_of_node(dev) && !pdata) { + pdata = &pdata_local; + memset(pdata, 0, sizeof(*pdata)); + + err = ramoops_parse_dt(pdev, pdata); + if (err < 0) + goto fail_out; + } + /* Make sure we didn't get bogus platform data pointer. */ if (!pdata) { pr_err("NULL platform data\n"); -- cgit