summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLynus Vaz <lvaz@codeaurora.org>2017-09-13 20:21:07 +0530
committerLynus Vaz <lvaz@codeaurora.org>2017-09-25 11:12:12 +0530
commit1e450489ff0d95b68f14c6a0ca0b392334ea2653 (patch)
tree81a640752610aff8fee6be2e90480cee018afbd8
parentb95d667366cba716dfd69bfdb26e5a31c32f0c4b (diff)
msm: kgsl: Don't read stale crashdumper data
After the crashdumper runs once, and the user sets the snapshot_crashdumper sysfs node to 0, it is possible that stale data is saved off into the snapshot. Check the value of the sysfs node at the appropriate place to force a re-read of the data through the legacy path. Change-Id: Icf27c39b68d786003c33fd0eb22bd3e8b9a036be Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
-rw-r--r--drivers/gpu/msm/adreno_a5xx_snapshot.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/msm/adreno_a5xx_snapshot.c b/drivers/gpu/msm/adreno_a5xx_snapshot.c
index 496fc6a9248e..09effbd39a9c 100644
--- a/drivers/gpu/msm/adreno_a5xx_snapshot.c
+++ b/drivers/gpu/msm/adreno_a5xx_snapshot.c
@@ -765,6 +765,8 @@ static void _a5xx_do_crashdump(struct kgsl_device *device)
crash_dump_valid = false;
+ if (!device->snapshot_crashdumper)
+ return;
if (capturescript.gpuaddr == 0 || registers.gpuaddr == 0)
return;
@@ -870,8 +872,7 @@ void a5xx_snapshot(struct adreno_device *adreno_dev,
ARRAY_SIZE(a5xx_vbif_snapshot_registers));
/* Try to run the crash dumper */
- if (device->snapshot_crashdumper)
- _a5xx_do_crashdump(device);
+ _a5xx_do_crashdump(device);
kgsl_snapshot_add_section(device, KGSL_SNAPSHOT_SECTION_REGS,
snapshot, a5xx_snapshot_registers, NULL);