diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-04-24 06:47:52 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-04-24 06:47:51 -0700 |
| commit | 39b4e0837f15b7b8c68c48a74821c24d99d2cf86 (patch) | |
| tree | bd53dea9364a84d78f4e80668f46d907633fbee1 | |
| parent | 5e10c8152d6dc63b50085300fe70735524b36e2d (diff) | |
| parent | 4df9b7635ebb64644eee27ca0f872224dea3d88e (diff) | |
Merge "msm_11ad: reorder registration with memory dump table"
| -rw-r--r-- | drivers/platform/msm/msm_11ad/msm_11ad.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/platform/msm/msm_11ad/msm_11ad.c b/drivers/platform/msm/msm_11ad/msm_11ad.c index e88f3d8c14d2..f1e348969c7b 100644 --- a/drivers/platform/msm/msm_11ad/msm_11ad.c +++ b/drivers/platform/msm/msm_11ad/msm_11ad.c @@ -836,7 +836,6 @@ static void msm_11ad_ssr_deinit(struct msm11ad_ctx *ctx) ctx->ramdump_dev = NULL; } - kfree(ctx->ramdump_addr); ctx->ramdump_addr = NULL; if (ctx->subsys_handle) { @@ -869,6 +868,14 @@ static int msm_11ad_ssr_init(struct msm11ad_ctx *ctx) goto out_rc; } + ctx->ramdump_dev = create_ramdump_device(ctx->subsysdesc.name, + ctx->subsysdesc.dev); + if (!ctx->ramdump_dev) { + dev_err(ctx->dev, "Create ramdump device failed\n"); + rc = -ENOMEM; + goto out_rc; + } + /* register ramdump area */ ctx->ramdump_addr = kmalloc(WIGIG_RAMDUMP_SIZE, GFP_KERNEL); if (!ctx->ramdump_addr) { @@ -886,19 +893,11 @@ static int msm_11ad_ssr_init(struct msm11ad_ctx *ctx) rc = msm_dump_data_register(MSM_DUMP_TABLE_APPS, &dump_entry); if (rc) { dev_err(ctx->dev, "Dump table setup failed: %d\n", rc); - goto out_rc; - } - - ctx->ramdump_dev = create_ramdump_device(ctx->subsysdesc.name, - ctx->subsysdesc.dev); - if (!ctx->ramdump_dev) { - dev_err(ctx->dev, "Create ramdump device failed: %d\n", rc); - rc = -ENOMEM; + kfree(ctx->ramdump_addr); goto out_rc; } return 0; - out_rc: msm_11ad_ssr_deinit(ctx); return rc; |
