diff --git a/drivers/soc/qcom/rpm_stats.c b/drivers/soc/qcom/rpm_stats.c index ed7493d063ae..e613da729277 100644 --- a/drivers/soc/qcom/rpm_stats.c +++ b/drivers/soc/qcom/rpm_stats.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2017, 2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -389,7 +389,7 @@ static ssize_t rpmstats_show(struct kobject *kobj, { struct msm_rpmstats_private_data *prvdata = NULL; struct msm_rpmstats_platform_data *pdata = NULL; - ssize_t ret; + ssize_t ret = 0; mutex_lock(&rpm_stats_mutex); pdata = GET_PDATA_OF_ATTR(attr); @@ -428,9 +428,12 @@ static ssize_t rpmstats_show(struct kobject *kobj, else if (prvdata->platform_data->version == 2) prvdata->len = msm_rpmstats_copy_stats_v2( prvdata); + else + goto exit; } ret = snprintf(buf, prvdata->len, "%s", prvdata->buf); +exit: iounmap(prvdata->reg_base); ioremap_fail: kfree(prvdata);