diff options
author | Liu ShuoX <shuox.liu@intel.com> | 2014-03-16 20:24:49 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2014-03-17 17:14:03 -0400 |
commit | 57fd835385a043577457a385f28c08be693991bf (patch) | |
tree | c43eb4342d2182cbe5f7acd83ca9fbef217566f2 /fs/pstore | |
parent | dcb99fd9b08cfe1afe426af4d8d3cbc429190f15 (diff) |
pstore: clarify clearing of _read_cnt in ramoops_context
*_read_cnt in ramoops_context need to be cleared during pstore ->open to
support mutli times getting the records. The patch added missed
ftrace_read_cnt clearing and removed duplicate clearing in ramoops_probe.
Signed-off-by: Liu ShuoX <shuox.liu@intel.com>
Cc: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Cc: Colin Cross <ccross@android.com>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'fs/pstore')
-rw-r--r-- | fs/pstore/ram.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c index fa8cef2cca3a..9fe5b13295e0 100644 --- a/fs/pstore/ram.c +++ b/fs/pstore/ram.c | |||
@@ -86,6 +86,7 @@ struct ramoops_context { | |||
86 | struct persistent_ram_ecc_info ecc_info; | 86 | struct persistent_ram_ecc_info ecc_info; |
87 | unsigned int max_dump_cnt; | 87 | unsigned int max_dump_cnt; |
88 | unsigned int dump_write_cnt; | 88 | unsigned int dump_write_cnt; |
89 | /* _read_cnt need clear on ramoops_pstore_open */ | ||
89 | unsigned int dump_read_cnt; | 90 | unsigned int dump_read_cnt; |
90 | unsigned int console_read_cnt; | 91 | unsigned int console_read_cnt; |
91 | unsigned int ftrace_read_cnt; | 92 | unsigned int ftrace_read_cnt; |
@@ -101,6 +102,7 @@ static int ramoops_pstore_open(struct pstore_info *psi) | |||
101 | 102 | ||
102 | cxt->dump_read_cnt = 0; | 103 | cxt->dump_read_cnt = 0; |
103 | cxt->console_read_cnt = 0; | 104 | cxt->console_read_cnt = 0; |
105 | cxt->ftrace_read_cnt = 0; | ||
104 | return 0; | 106 | return 0; |
105 | } | 107 | } |
106 | 108 | ||
@@ -428,7 +430,6 @@ static int ramoops_probe(struct platform_device *pdev) | |||
428 | if (pdata->ftrace_size && !is_power_of_2(pdata->ftrace_size)) | 430 | if (pdata->ftrace_size && !is_power_of_2(pdata->ftrace_size)) |
429 | pdata->ftrace_size = rounddown_pow_of_two(pdata->ftrace_size); | 431 | pdata->ftrace_size = rounddown_pow_of_two(pdata->ftrace_size); |
430 | 432 | ||
431 | cxt->dump_read_cnt = 0; | ||
432 | cxt->size = pdata->mem_size; | 433 | cxt->size = pdata->mem_size; |
433 | cxt->phys_addr = pdata->mem_address; | 434 | cxt->phys_addr = pdata->mem_address; |
434 | cxt->record_size = pdata->record_size; | 435 | cxt->record_size = pdata->record_size; |