diff --git a/drivers/soc/qcom/minidump_log.c b/drivers/soc/qcom/minidump_log.c index 4aaa5b894334..f9224abea5de 100644 --- a/drivers/soc/qcom/minidump_log.c +++ b/drivers/soc/qcom/minidump_log.c @@ -145,21 +145,22 @@ static DEFINE_SPINLOCK(md_modules_lock); static void __init register_log_buf(void) { - char **log_bufp; - uint32_t *log_buf_lenp; + char *log_bufp; + uint32_t log_buf_len; struct md_region md_entry; - log_bufp = (char **)kallsyms_lookup_name("log_buf"); - log_buf_lenp = (uint32_t *)kallsyms_lookup_name("log_buf_len"); - if (!log_bufp || !log_buf_lenp) { - pr_err("Unable to find log_buf by kallsyms!\n"); + log_bufp = log_buf_addr_get(); + log_buf_len = log_buf_len_get(); + + if (!log_bufp || !log_buf_len) { + pr_err("Unable to locate log_buf!\n"); return; } /*Register logbuf to minidump, first idx would be from bss section */ strlcpy(md_entry.name, "KLOGBUF", sizeof(md_entry.name)); - md_entry.virt_addr = (uintptr_t) (*log_bufp); - md_entry.phys_addr = virt_to_phys(*log_bufp); - md_entry.size = *log_buf_lenp; + md_entry.virt_addr = (uintptr_t) log_bufp; + md_entry.phys_addr = virt_to_phys(log_bufp); + md_entry.size = log_buf_len; if (msm_minidump_add_region(&md_entry) < 0) pr_err("Failed to add logbuf in Minidump\n"); }