diff --git a/drivers/soc/qcom/ramdump.c b/drivers/soc/qcom/ramdump.c index 7aeb2913a2e2..85b6ae969a1e 100644 --- a/drivers/soc/qcom/ramdump.c +++ b/drivers/soc/qcom/ramdump.c @@ -262,6 +262,8 @@ static ssize_t ramdump_read(struct file *filep, char __user *buf, size_t count, } kfree(finalbuf); + if (!vaddr && origdevice_mem) + iounmap(origdevice_mem); *pos += copy_size; @@ -275,6 +277,8 @@ static ssize_t ramdump_read(struct file *filep, char __user *buf, size_t count, ramdump_done: srcu_read_unlock(&rd_dev->rd_srcu, srcu_idx); kfree(finalbuf); + if (!vaddr && origdevice_mem) + iounmap(origdevice_mem); *pos = 0; reset_ramdump_entry(entry); return ret;