diff options
| author | Brian Norris <briannorris@google.com> | 2016-03-14 13:34:44 -0700 |
|---|---|---|
| committer | Brian Norris <briannorris@google.com> | 2016-03-14 13:34:44 -0700 |
| commit | 157aa28fd7bf66bf3d9d1774398fddc7dc255c52 (patch) | |
| tree | d7de8d028bcfa730b5b34ec60558bf0f730a65ed | |
| parent | fafb89f95a059c26223956bd035dcb0d90a0d523 (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.c | 3 |
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: |
