counter: rz-mtu3-cnt: Reorder locking sequence for consistency
authorBiju Das <biju.das.jz@bp.renesas.com>
Tue, 25 Jul 2023 15:46:11 +0000 (16:46 +0100)
committerWilliam Breathitt Gray <william.gray@linaro.org>
Wed, 16 Aug 2023 13:41:29 +0000 (09:41 -0400)
All functions except rz_mtu3_count_enable_write(), call
pm_runtime_{get,put} inside the lock. For consistency do the same here.

Reported-by: Pavel Machek <pavel@denx.de>
Closes: https://lore.kernel.org/r/ZH8Fmom8vZ4DwxqA@duo.ucw.cz
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230725154611.227556-1-biju.das.jz@bp.renesas.com/
Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
drivers/counter/rz-mtu3-cnt.c

index 48c8393..ee82149 100644 (file)
@@ -500,8 +500,8 @@ static int rz_mtu3_count_enable_write(struct counter_device *counter,
        int ret = 0;
 
        if (enable) {
-               pm_runtime_get_sync(ch->dev);
                mutex_lock(&priv->lock);
+               pm_runtime_get_sync(ch->dev);
                ret = rz_mtu3_initialize_counter(counter, count->id);
                if (ret == 0)
                        priv->count_is_enabled[count->id] = true;
@@ -510,8 +510,8 @@ static int rz_mtu3_count_enable_write(struct counter_device *counter,
                mutex_lock(&priv->lock);
                rz_mtu3_terminate_counter(counter, count->id);
                priv->count_is_enabled[count->id] = false;
-               mutex_unlock(&priv->lock);
                pm_runtime_put(ch->dev);
+               mutex_unlock(&priv->lock);
        }
 
        return ret;