summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Norris <briannorris@google.com>2016-03-14 13:34:44 -0700
committerBrian Norris <briannorris@google.com>2016-03-14 13:34:44 -0700
commit157aa28fd7bf66bf3d9d1774398fddc7dc255c52 (patch)
treed7de8d028bcfa730b5b34ec60558bf0f730a65ed
parentfafb89f95a059c26223956bd035dcb0d90a0d523 (diff)
FROMLIST: pstore-ram: fix NULL reference when used with pdata
When using platform-data (not DT), we get an OOPS, because drvdata is only initialized after we try to use it. This addresses my comments made on the upstream submission here: https://patchwork.kernel.org/patch/7980651/ Fixes boot on Chrome OS systems, including the Pixel 2. Change-Id: I97360edf2ce61c83dc543cb6c169f3287e2dae4b Fixes: b1d1b7187c11 ("FROMLIST: pstore-ram: add Device Tree bindings") Signed-off-by: Brian Norris <briannorris@google.com>
-rw-r--r--fs/pstore/ram.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 2429c804cf78..414041342a99 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -554,7 +554,7 @@ static int ramoops_parse_dt(struct platform_device *pdev,
static int ramoops_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct ramoops_platform_data *pdata = platform_get_drvdata(pdev);
+ struct ramoops_platform_data *pdata = pdev->dev.platform_data;
struct ramoops_context *cxt = &oops_cxt;
size_t dump_mem_sz;
phys_addr_t paddr;
@@ -666,7 +666,6 @@ static int ramoops_probe(struct platform_device *pdev)
cxt->size, (unsigned long long)cxt->phys_addr,
cxt->ecc_info.ecc_size, cxt->ecc_info.block_size);
- platform_set_drvdata(pdev, pdata);
return 0;
fail_buf: