media: venus: core: Fix mutex destroy in remove
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Tue, 31 Mar 2020 15:37:02 +0000 (17:37 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 5 May 2020 11:03:47 +0000 (13:03 +0200)
The hfi_destroy function is called too early in remove method. It
destroys a mutex which is used later in the .remove from pmruntime.
Solve the issue by moving hfi_destroy after last usage of the mutex.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/qcom/venus/core.c

index f8b9a73..afd76bc 100644 (file)
@@ -318,7 +318,6 @@ static int venus_remove(struct platform_device *pdev)
        ret = hfi_core_deinit(core, true);
        WARN_ON(ret);
 
-       hfi_destroy(core);
        venus_shutdown(core);
        of_platform_depopulate(dev);
 
@@ -330,6 +329,8 @@ static int venus_remove(struct platform_device *pdev)
        if (pm_ops->core_put)
                pm_ops->core_put(dev);
 
+       hfi_destroy(core);
+
        icc_put(core->video_path);
        icc_put(core->cpucfg_path);