Message ID | 20200811101727.3976-1-lukasz.luba@arm.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | memory: samsung: exynos5422-dmc: Additional locking for 'curr_rate' | expand |
On Tue, Aug 11, 2020 at 11:17:27AM +0100, Lukasz Luba wrote: > The 'curr_rate' is protected by local 'dmc->lock' in various places, but > not in a function exynos5_dmc_get_status(). The lock protects frequency > (and voltage) change process and the corresponding value stored in > 'curr_rate'. Add the locking mechanism to protect the 'curr_rate' reading > also in the exynos5_dmc_get_status(). > > Suggested-by: Krzysztof Kozlowski <krzk@kernel.org> > Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> > --- > drivers/memory/samsung/exynos5422-dmc.c | 3 +++ Thanks, applied. Best regards, Krzysztof
Hi Krzysztof, On 8/17/20 12:54 PM, Krzysztof Kozlowski wrote: > On Tue, Aug 11, 2020 at 11:17:27AM +0100, Lukasz Luba wrote: >> The 'curr_rate' is protected by local 'dmc->lock' in various places, but >> not in a function exynos5_dmc_get_status(). The lock protects frequency >> (and voltage) change process and the corresponding value stored in >> 'curr_rate'. Add the locking mechanism to protect the 'curr_rate' reading >> also in the exynos5_dmc_get_status(). >> >> Suggested-by: Krzysztof Kozlowski <krzk@kernel.org> >> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> >> --- >> drivers/memory/samsung/exynos5422-dmc.c | 3 +++ > > Thanks, applied. > Thank you for applying it. Regards, Lukasz
diff --git a/drivers/memory/samsung/exynos5422-dmc.c b/drivers/memory/samsung/exynos5422-dmc.c index b9c7956e5031..952bc61e68f4 100644 --- a/drivers/memory/samsung/exynos5422-dmc.c +++ b/drivers/memory/samsung/exynos5422-dmc.c @@ -908,7 +908,10 @@ static int exynos5_dmc_get_status(struct device *dev, int ret; if (dmc->in_irq_mode) { + mutex_lock(&dmc->lock); stat->current_frequency = dmc->curr_rate; + mutex_unlock(&dmc->lock); + stat->busy_time = dmc->load; stat->total_time = dmc->total; } else {
The 'curr_rate' is protected by local 'dmc->lock' in various places, but not in a function exynos5_dmc_get_status(). The lock protects frequency (and voltage) change process and the corresponding value stored in 'curr_rate'. Add the locking mechanism to protect the 'curr_rate' reading also in the exynos5_dmc_get_status(). Suggested-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> --- drivers/memory/samsung/exynos5422-dmc.c | 3 +++ 1 file changed, 3 insertions(+)